Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/2.5'
Browse files Browse the repository at this point in the history
  • Loading branch information
daschuer committed Jan 10, 2025
2 parents 80a86d8 + a807be6 commit 1803e02
Show file tree
Hide file tree
Showing 9 changed files with 126 additions and 30 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,20 @@
* ci(dependabot): Open PRs against 2.5 branch instead of main [#14060](https://github.com/mixxxdj/mixxx/pull/14060)
* Happy New Year 2025! [#14098](https://github.com/mixxxdj/mixxx/pull/14098)

## [2.5.1](https://github.com/mixxxdj/mixxx/milestone/45) (unreleased)

### Controller Mappings

* Numark NS6II: Add new controller mapping [#11075](https://github.com/mixxxdj/mixxx/pull/11075)
* Hercules Inpulse 300: Updated mapping [#14051](https://github.com/mixxxdj/mixxx/pull/14051)

### Fixes

* Deere (64 samplers): Bring back library in regular view
[#14101](https://github.com/mixxxdj/mixxx/pull/14101)
[#14097](https://github.com/mixxxdj/mixxx/issues/14097)
* Enable R3 time-stretching with Rubberband 4.0.0 API version numbers [#14100](https://github.com/mixxxdj/mixxx/pull/14100)

## [2.5.0](https://github.com/mixxxdj/mixxx/issues?q=milestone%3A2.5.0) (2024-12-24)

### Modernized Platform: Update to Qt6
Expand Down
10 changes: 5 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,16 +103,16 @@ endif()

if(DEFINED MIXXX_VCPKG_ROOT)
if(
EXISTS "$ENV{MIXXX_VCPKG_ROOT}/overlay/ports"
OR NOT EXISTS "$ENV{MIXXX_VCPKG_ROOT}/ports"
EXISTS "${MIXXX_VCPKG_ROOT}/overlay/ports"
OR NOT EXISTS "${MIXXX_VCPKG_ROOT}/ports"
)
# MIXXX_VCPKG_ROOT points to our vcpkg environment
# and we configure the CMAKE_TOOLCHAIN_FILE and overlays accordingly
message(STATUS "Using MIXXX_VCPKG_ROOT: $ENV{MIXXX_VCPKG_ROOT}")
message(STATUS "Using MIXXX_VCPKG_ROOT: ${MIXXX_VCPKG_ROOT}")
else()
message(
STATUS
"MIXXX_VCPKG_ROOT not correct (missing $ENV{MIXXX_VCPKG_ROOT}/overlay/ports)"
"MIXXX_VCPKG_ROOT not correct (missing ${MIXXX_VCPKG_ROOT}/overlay/ports)"
)
fatal_error_missing_env()
endif()
Expand Down Expand Up @@ -4705,7 +4705,7 @@ if(NOT CPACK_DEBIAN_PACKAGE_RELEASE)
set(CPACK_DEBIAN_PACKAGE_RELEASE 1)
endif()

set(CPACK_DEBIAN_DISTRIBUTION_RELEASES jammy mantic noble oracular)
set(CPACK_DEBIAN_DISTRIBUTION_RELEASES jammy noble oracular plucky)
set(CPACK_DEBIAN_SOURCE_DIR ${CMAKE_SOURCE_DIR})
set(
CPACK_DEBIAN_UPLOAD_PPA_SCRIPT
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/GitInfo.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ endif()
# Get the current commit date
if(NOT GIT_COMMIT_DATE)
execute_process(
COMMAND git show --quiet --format=%cI --date=short
COMMAND git show --quiet --format=%cI --date=short --no-show-signature
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_COMMIT_DATE
OUTPUT_STRIP_TRAILING_WHITESPACE
Expand Down
42 changes: 41 additions & 1 deletion res/linux/org.mixxx.Mixxx.desktop
Original file line number Diff line number Diff line change
@@ -1,14 +1,54 @@
[Desktop Entry]
Version=1.0
Name=Mixxx
Name[de]=Mixxx
GenericName=Digital DJ interface
GenericName[de]=Digitales DJ-System
GenericName[fr]=Interface numérique pour DJ
GenericName[nl]=Digitaal DJ-systeem
GenericName[it]=Sistema DJ digitale
GenericName[es]=Sistema DJ digital
GenericName[cz]=Digitální DJ systém
GenericName[ru]=Цифровая диджейская система
GenericName[uk]=Цифрова діджейська система
GenericName[sl]=Digitalni DJ sistem
GenericName[pl]=Cyfrowy system DJ-ski
GenericName[zh]=数字 DJ 系统
GenericName[sv]=Digitalt DJ-system
GenericName[pt]=Sistema de DJ digital
GenericName[ro]=Sistem DJ digital
GenericName[ja]=デジタルDJシステム
GenericName[hu]=Digitális DJ rendszer
GenericName[tr]=Dijital DJ sistemi
GenericName[gr]=Ψηφιακό σύστημα DJ
GenericName[fi]=Digitaalinen DJ-järjestelmä
GenericName[ko]=디지털 DJ 시스템
GenericName[nb]=Digitalt DJ-system
GenericName[bg]=Цифрова DJ система
Comment=A digital DJ interface
Comment[de]=Ein digitales DJ-System
Comment[fr]=Une interface numérique pour DJ
Comment[nl]=Een digitaal DJ-systeem
Comment[it]=Un sistema DJ digitale
Comment[es]=Un sistema de DJ digital
Comment[cz]=Digitální DJ systém
Comment[ru]=Цифровая диджейская система
Comment[uk]=Цифрова діджейська система
Comment[sl]=Digitalni DJ sistem
Comment[pl]=Cyfrowy system DJ-ski
Comment[zh]=数字 DJ 系统
Comment[sv]=Ett digitalt DJ-system
Comment[pt]=Um sistema de DJ digital
Comment[ro]=Un sistem DJ digital
Comment[ja]=デジタルDJシステム
Comment[hu]=Digitális DJ rendszer
Comment[tr]=Dijital bir DJ sistemi
Comment[gr]=Ένα ψηφιακό σύστημα DJ
Comment[fi]=Digitaalinen DJ-järjestelmä
Comment[ko]=디지털 DJ 시스템
Comment[nb]=Et digitalt DJ-system
Comment[bg]=Цифрова DJ система
Exec=sh -c "pasuspender -- mixxx || mixxx"
Keywords=dj;music;alsa;jack:realtime;standalone;
Terminal=false
Icon=mixxx
Type=Application
Expand Down
33 changes: 32 additions & 1 deletion res/linux/org.mixxx.Mixxx.metainfo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
Do not edit it manually.
-->
<releases>
<release version="2.6.0" type="development" date="2025-01-03" timestamp="1735896888">
<release version="2.6.0" type="development" date="2025-01-03" timestamp="1735859957">
<description>
<p>
Engine
Expand Down Expand Up @@ -689,6 +689,37 @@
#14098
</li>
</ul>
</description>
</release>
<release version="2.5.1" type="development" date="2025-01-03" timestamp="1735859957">
<description>
<p>
Controller Mappings
</p>
<ul>
<li>
Numark NS6II: Add new controller mapping
#11075
</li>
<li>
Hercules Inpulse 300: Updated mapping
#14051
</li>
</ul>
<p>
Fixes
</p>
<ul>
<li>
Deere (64 samplers): Bring back library in regular view
#14101
#14097
</li>
<li>
Enable R3 time-stretching with Rubberband 4.0.0 API version numbers
#14100
</li>
</ul>
</description>
</release>
<release version="2.5.0" type="stable" date="2024-12-24" timestamp="1734998400">
Expand Down
1 change: 0 additions & 1 deletion src/engine/controls/bpmcontrol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,6 @@ void BpmControl::trackBeatsUpdated(mixxx::BeatsPointer pBeats) {
frameInfo().trackEndPosition)
: mixxx::Bpm());
}
qWarning() << "BpmControl::trackBeatsUpdated";
m_pBeats = pBeats;
updateLocalBpm();
resetSyncAdjustment();
Expand Down
6 changes: 3 additions & 3 deletions src/engine/sidechain/enginerecord.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -224,9 +224,9 @@ void EngineRecord::process(const CSAMPLE* pBuffer, const std::size_t bufferSize)
}

QString EngineRecord::getRecordedDurationStr() {
return QString("%1:%2")
.arg(m_recordedDuration / 60, 2, 'f', 0, '0') // minutes
.arg(m_recordedDuration % 60, 2, 'f', 0, '0'); // seconds
return QStringLiteral("%1:%2")
.arg(m_recordedDuration / 60, 2, 10, QChar('0')) // minutes
.arg(m_recordedDuration % 60, 2, 10, QChar('0')); // seconds
}

void EngineRecord::writeCueLine() {
Expand Down
6 changes: 3 additions & 3 deletions src/recording/recordingmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -209,9 +209,9 @@ void RecordingManager::slotDurationRecorded(quint64 duration) {

// Copy from the implementation in enginerecord.cpp
QString RecordingManager::getRecordedDurationStr(unsigned int duration) {
return QString("%1:%2")
.arg(duration / 60, 2, 'f', 0, '0') // minutes
.arg(duration % 60, 2, 'f', 0, '0'); // seconds
return QStringLiteral("%1:%2")
.arg(duration / 60, 2, 10, QChar('0')) // minutes
.arg(duration % 60, 2, 10, QChar('0')); // seconds
}

// Only called when recording is active.
Expand Down
42 changes: 27 additions & 15 deletions src/widget/wtracktableview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1116,23 +1116,30 @@ void WTrackTableView::keyPressEvent(QKeyEvent* event) {
break;
}
TrackModel* pTrackModel = getTrackModel();
if (pTrackModel && !pTrackModel->isLocked()) {
if (event->matches(QKeySequence::Delete) || event->key() == Qt::Key_Backspace) {
removeSelectedTracks();
return;
}
if (event->matches(QKeySequence::Cut)) {
cutSelectedTracks();
return;
if (pTrackModel) {
if (!pTrackModel->isLocked()) {
if (event->matches(QKeySequence::Delete) || event->key() == Qt::Key_Backspace) {
removeSelectedTracks();
return;
}
if (event->matches(QKeySequence::Cut)) {
cutSelectedTracks();
return;
}
if (event->matches(QKeySequence::Paste)) {
pasteTracks(currentIndex());
return;
}
if (event->key() == Qt::Key_Escape) {
clearSelection();
setCurrentIndex(QModelIndex());
}
}

if (event->matches(QKeySequence::Copy)) {
copySelectedTracks();
return;
}
if (event->matches(QKeySequence::Paste)) {
pasteTracks(currentIndex());
return;
}
if (event->modifiers().testFlag(Qt::AltModifier) &&
(event->key() == Qt::Key_Up ||
event->key() == Qt::Key_Down ||
Expand All @@ -1144,9 +1151,14 @@ void WTrackTableView::keyPressEvent(QKeyEvent* event) {
moveSelectedTracks(event);
return;
}
if (event->key() == Qt::Key_Escape) {
clearSelection();
setCurrentIndex(QModelIndex());
if (event->modifiers().testFlag(Qt::ControlModifier) &&
event->modifiers().testFlag(Qt::ShiftModifier) &&
event->key() == Qt::Key_C) {
// copy the cell content as native QKeySequence::Copy would
QKeyEvent ke =
QKeyEvent{QEvent::KeyPress, Qt::Key_C, Qt::ControlModifier};
QTableView::keyPressEvent(&ke);
return;
}
}
QTableView::keyPressEvent(event);
Expand Down

0 comments on commit 1803e02

Please sign in to comment.