Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream #53

Open
wants to merge 60 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
c82f0e8
fixed mergeconflict
coderofsalvation May 12, 2022
6931633
rearrange misc config section a bit
Jul 12, 2022
47cb1c1
Merge branch 'master' into feat/raina_toggle_advanced_drag_n_drop
Jul 12, 2022
24f303c
introduced toggle for advanced drag and drop
Jul 12, 2022
67ba0e7
make sure setting is present
Jul 12, 2022
8f9a623
re-introduce old drag behavior
Jul 13, 2022
1c15bcc
style adjustments
Jul 13, 2022
bc25397
adjusted formatting + updated author
coderofsalvation Aug 26, 2022
caa8169
Merge pull request #274 from coderofsalvation/feat/helpdialog-ctrl-h
coderofsalvation Aug 26, 2022
04841c2
responsive filedialog
coderofsalvation Aug 27, 2022
96310c7
improved paste
coderofsalvation Sep 2, 2021
07e3d5f
chore/copy-paste-sample-respect-relative-notenumber
coderofsalvation Aug 31, 2022
a41e2c2
shortcuts to navigate instrument/samples/orderlist
coderofsalvation Aug 29, 2022
9944dd5
meowgli's tweak https://github.com/milkytracker/MilkyTracker/issues/304
Feb 6, 2023
48ab547
Fix uninitialized fields in PatternEditorControl
nyanpasu64 Sep 18, 2021
40602a7
Fix uninitialized fields in PPListBox
nyanpasu64 Sep 18, 2021
64edaab
Fix About screen reading uninitialized memory
nyanpasu64 Sep 18, 2021
ce123f0
Fix uninitialized read in piano control
nyanpasu64 Sep 18, 2021
f578adf
switch to C11 when RTMIDI
coderofsalvation Jun 30, 2023
a644cb5
replaced tanh with TAP-inspired compression-algo #nodistortion #relat…
Nov 16, 2022
a67efef
sample-editor easy fade-in/out + loop fold
Nov 16, 2022
a8e76b0
list ports to stdout + check for default port using MIDI_IN env-var
coderofsalvation Aug 31, 2022
7531312
fix: minimal non-opengl platforms can run MT again
coderofsalvation May 17, 2022
fb84c38
Added some shortcuts to make my performances easier
Claytone Aug 10, 2022
ada5f10
Removed commented line
Claytone Aug 10, 2022
3dd036c
Replaced VK_OEM keys with regular letters because cmake didn't like t…
Claytone Aug 10, 2022
639a3af
Switched to single-modifier shortcuts and more sensible layout
Claytone Aug 10, 2022
06ae8b4
Updated docs
Claytone Aug 10, 2022
c40e8ec
improvements + show selected channel by highlighting scope
coderofsalvation Sep 2, 2022
c0c783b
fix wrong cwd when loading file from command line
mothcompute Apr 13, 2023
eb7305c
build linux
coderofsalvation Jun 30, 2023
7ee2a41
Merge branch 'chore/linuxbuilds' into rc/1.04
coderofsalvation Jun 30, 2023
51ae20a
typofix
coderofsalvation Jun 30, 2023
b6be2b2
regression bugfix: shift+left/right should do selection
coderofsalvation Jun 30, 2023
70824e4
add rpi builder script
coderofsalvation Jul 2, 2023
3bfcc62
Merge remote-tracking branch 'milkytrackerx/chore/copy-paste-sample-r…
coderofsalvation Jul 3, 2023
5e45010
Merge remote-tracking branch 'milkytrackerx/feat/responsive-filedialo…
coderofsalvation Jul 3, 2023
c2b0ce5
Merge remote-tracking branch 'milkypailes/feat/raina_toggle_advanced_…
coderofsalvation Jul 3, 2023
592d076
resolved milkyshortcut-conflicts to get to the following coherent
coderofsalvation Jul 3, 2023
3eed11c
added call to action for new users
coderofsalvation Jul 3, 2023
4fd5462
resolved merge-conflict
coderofsalvation Jul 3, 2023
a974a20
updated help
coderofsalvation Jul 3, 2023
5f9e135
removed broken links
coderofsalvation Jul 3, 2023
90c767a
add advanced drag drop to docs
coderofsalvation Jul 3, 2023
4cc7f42
Merge remote-tracking branch 'milkytrackerx/bugfix/machinegun' into r…
coderofsalvation Jul 3, 2023
1fa39ca
version bump + update docs
coderofsalvation Jul 5, 2023
4da3169
Merge pull request #314 from milkytracker/rc/1.04
coderofsalvation Jul 5, 2023
ef2627b
update documentation
coderofsalvation Jul 5, 2023
c8fc468
typofix
coderofsalvation Jul 5, 2023
ee38e3e
typofix
coderofsalvation Jul 5, 2023
6266e0d
Merge remote-tracking branch 'milkytrackerx/feat/sampleeditor-improve…
coderofsalvation Jul 5, 2023
8461197
cleanup menu by moving to FX submenu
coderofsalvation Jul 5, 2023
cd09c58
Merge pull request #317 from milkytracker/feat/menu-cleanup
coderofsalvation Jul 5, 2023
d63efeb
tidy cleanup subMenuFX
coderofsalvation Jul 5, 2023
7e91714
possible bugfix: return nPorts
coderofsalvation Jul 6, 2023
3a3e9e1
Update MilkyTracker.html
olymp14n Sep 29, 2023
aaa522e
Merge pull request #327 from olymp14n/patch-1
lmnoop Oct 9, 2023
a4735fc
Update MilkyTracker.html
lmnoop Oct 9, 2023
50273e4
Make RTMidi optional again
Deltafire Nov 21, 2023
b2d771d
Merge remote-tracking branch 'upstream/master'
MBeijer Jan 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ resources/pictures/docicons/osx/docerator/

# Editor config files
.vscode/
.vs/

# Don't include objects
*.o
Expand Down
9 changes: 5 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ string(TOLOWER ${CMAKE_SYSTEM_NAME} SYSTEM_NAME_LOWER)

# Version number in format X.YY.ZZ
set(VER_X 1)
set(VER_YY 03)
set(VER_ZZ 01)
set(VER_YY 04)
set(VER_ZZ 00)
set(VER_FULL "${VER_X}.${VER_YY}.${VER_ZZ}")

# Build date Information
Expand Down Expand Up @@ -223,8 +223,9 @@ if(UNIX AND AMIGA)

# Linux MIDI support requires ALSA and RtMidi
if(ALSA_FOUND)
find_package(RTMIDI 2.1.0)
if(RTMIDI_FOUND)
find_package(RTMIDI 2.1) # 2.1.0 and compatible versions
if(RTMIDI_FOUND) # https://github.com/milkytracker/MilkyTracker/issues/309
set(CMAKE_CXX_STANDARD 11) # https://github.com/milkytracker/MilkyTracker/issues/262
message(STATUS "Enabled MIDI support (ALSA/RtMidi)")
add_subdirectory(src/midi)
else()
Expand Down
21 changes: 21 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# MilkyTracker ChangeLog

## 05/07/2023 (v1.04):

* [pattern-editor: stamp-like drag-drop selections](https://github.com/milkytracker/MilkyTracker/pull/277)
* [UX: responsive file dialog](https://github.com/milkytracker/MilkyTracker/pull/285)
* [copy/pasting sample now reflects relative note too](https://github.com/milkytracker/MilkyTracker/pull/290)
* [liveperformance: shortcuts for channel highlighting/muting ](https://github.com/milkytracker/MilkyTracker/pull/289)
* [linux: midi-in port selection](https://github.com/milkytracker/MilkyTracker/pull/289)
* [sample-editor: fadein, fadeout, loop fold](https://github.com/milkytracker/MilkyTracker/pull/299)
* [sample-editor: improved algo & UX of compressor](https://github.com/milkytracker/MilkyTracker/pull/300)
* [improved navigation milkytracker-keyboard](https://github.com/milkytracker/MilkyTracker/pull/288)
* UX: added CTA's in instrument editor for new users

## Bugs fixed
* switch to C11 when compiling RTMIDI
* [ability to run in non-opengl mode again](https://github.com/milkytracker/MilkyTracker/pull/289)
* Fix uninitialized read in piano control (nyanpasu64 ❤)
* Fix About screen reading uninitialized memory (nyanpasu64 ❤)
* Fix uninitialized fields in PPListBox (nyanpasu64 ❤)
* Fix uninitialized fields in PatternEditorControl (nyanpasu64 ❤)
* fix wrong cwd when loading file from command line (mothcompute ❤)

## 12/12/2020 (v1.03):

### What's new:
Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,13 @@ user experience of the popular DOS program Fasttracker II, with
special playback modes available for improved Amiga ProTracker 2/3
compatibility.

Refer to http://milkytracker.titandemo.org/?about for further details.
## [⬇ DOWNLOAD](https://milkytracker.org/downloads)

<img src="https://github.com/coderofsalvation/MilkyTrackerX/raw/master/res/milkytrackerX.gif" width="100%"/>

> For experimental beta builds see [MilkytrackerX](https://github.com/coderofsalvation/MilkytrackerX)

Refer to http://milkytracker.org/about for further details.

Please read the file [INSTALL.md][] for installation instructions.

Expand Down
65 changes: 58 additions & 7 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,79 @@ platform:
- Win32
- x64

image:
- Ubuntu1604
- Visual Studio 2017

environment:
APPVEYOR_YML_DISABLE_PS_LINUX: true

install:
- git submodule update --init --recursive
- ps: |
$env:GIT_TAG = (git describe HEAD | sed -E "s/-.+$//")
Update-AppveyorBuild -Version "$env:GIT_TAG-$env:APPVEYOR_BUILD_NUMBER"

before_build:
- md c:\projects\milkytracker\build
- cd c:\projects\milkytracker\build
- if %platform% == Win32 cmake -G "Visual Studio 14" -T v140_xp ..
- if %platform% == x64 cmake -G "Visual Studio 14 Win64" -T v140_xp ..
- sh: sudo apt-get update
- sh: sudo apt-get install libjack-dev liblhasa-dev librtmidi-dev libsdl2-dev libzzip-dev -y
- sh: if [ $PLATFORM == "Win32" ]; then exit 0; fi
- sh: mkdir -p build
- sh: cd build
- sh:
- cmd: pwd
- cmd: md build
- cmd: cd build
- cmd: if %platform% == Win32 cmake -G "Visual Studio 15 2017" -T v140_xp ..
- cmd: if %platform% == x64 cmake -G "Visual Studio 15 2017 Win64" -T v140_xp ..
- cmd: dir

for:
-
matrix:
only:
- image: Ubuntu1604

build_script:
- sh: cmake -DCMAKE_BUILD_TYPE=Debug ..
- sh: pwd
- sh: make
- sh: cpack -C %configuration% -D CPACK_GENERATOR="ZIP"
- sh: cd ..
- sh: unzip build/milkytracker*.zip
- sh: echo create AppImage
- sh: ls -la
- sh: cp -r milkytracker-* Milkytracker-x86_64.AppDir
- sh: cd Milkytracker-x86_64.AppDir
- sh: echo -e '#!/bin/sh\nHERE="$(dirname "$(readlink -f "${0}")")"\nLD_LIBRARY_PATH="$HERE/usr/lib:$LD_LIBRARY_PATH" $HERE/bin/milkytracker "$@"' > AppRun && chmod +x AppRun
- sh: echo CHECKING LIBS && find . -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
- sh: mkdir -p usr/share usr/lib
- sh: objdump -p bin/milkytracker | awk '/ NEEDED/ {print $2}'
#- sh: objdump -p bin/milkytracker | awk '/ NEEDED/ {print $2}' | while read lib; do { set +e; test -f /usr/lib/x86_64-linux-gnu/$lib && cp /usr/lib/x86_64-linux-gnu/$lib usr/lib/.; set -e; } done
- sh: cp /usr/lib/x86_64-linux-gnu/{librtmidi*,libzzip-0.so.13,libsnd*,libvorb*,libFLAC*,libffi*,libogg*} usr/lib/.
- sh: cd usr && ln -s lib x86_64-linux-gnu && cd -
- sh: cp ../resources/pictures/carton.png milkytracker.png
- sh: cp ../resources/milkytracker.desktop .
- sh: sed -i 's|MilkyTracker|Milkytracker|g;s|Comment=.*|Comment=A Portable SampleTracker DAW|g' milkytracker.desktop
#- sh: cp ../resources/milkytracker.appdata /usr/share/metainfo
- sh: find .
- sh: cd ..
- sh: wget 'https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage';
- sh: chmod +x appimagetool*.AppImage
- sh: ./appimagetool-* Milkytracker-x86_64.AppDir
- sh: pwd

build:
project: c:\projects\milkytracker\build\MilkyTracker.sln
project: build\MilkyTracker.sln

after_build:
# https://github.com/chocolatey/chocolatey/issues/431
- cmake -E remove -f c:\programdata\chocolatey\bin\cpack.exe
- cpack -C %configuration%
- cmd: cmake -E remove -f c:\programdata\chocolatey\bin\cpack.exe
- cmd: cpack -C %configuration%

artifacts:
- path: build\milkytracker*.zip
- path: Milky*.AppImage

deploy:
description: Release $(appveyor_repo_tag_name)
Expand Down
68 changes: 68 additions & 0 deletions build_rpi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#!/bin/sh
# Usage:
# locally: ./build_rpi.sh compile alpine
# ./build_rpi.sh compile raspbian
# and so on
#
# thru docker/podman:
# ./build_rpi.sh oci # this will build all binaries

toolkit(){
test -d rpi || git clone --depth=1 https://github.com/raspberrypi/tools rpi
test -d || mkdir build
export CC=$(pwd)/rpi/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc
export CPP=$(pwd)/rpi/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-c++
cd build
cmake -D CMAKE_C_COMPILER=$CC -D CMAKE_CXX_COMPILER=$CPP ..
# 32bit: /rpi/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc
# 64bit: /rpi/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
}

compile(){
echo $1 | grep alpine && {
apk update
apk add sdl2-dev cmake build-base
}
echo $1 | grep raspbian && {
apt-get update
apt-get install cmake libsdl2-dev
}
cd /src
test -d build && rm -rf build
mkdir build
cd build
cmake ..
make
}

oci(){
OCI=$(which docker || which podman)
which qemu-arm || sudo apt install -y qemu qemu-user-static qemu-user binfmt-support

alpine(){
IMAGES="arm64v8/alpine:3.18.2 arm32v7/alpine:3.18.2 arm32v6/alpine:3.18.2"
$OCI run --rm --privileged multiarch/qemu-user-static:register --reset
for IMG in $IMAGES; do
set -x
$OCI run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 # enable arm
$OCI run -it --privileged --rm --volume=$(pwd):/src $IMG src/build_rpi.sh compile $IMG
cp build/src/tracker/milkytracker milkytracker.$( echo $IMG | sed 's/[\/:]/-/g')
done
}

raspbian(){
ARCHS="linux/arm/v6 linux/arm/v7 linux/arm64"
for ARCH in $ARCHS; do
set -x
$OCI run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 # enable arm
$OCI run -it --privileged --rm --volume=$(pwd):/src --platform=$ARCH navikey/raspbian-buster src/build_rpi.sh compile raspbian
cp build/src/tracker/milkytracker milkytracker.$( echo $ARCH | sed 's/linux//g;s/[\/:]//g')
done

}

raspbian
#alpine
}

"$@"
60 changes: 60 additions & 0 deletions docs/ChangeLog.html
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,66 @@
</head>
<body>
<h1 id="milkytracker-changelog">MilkyTracker ChangeLog</h1>

<h2>05/07/2023 (v1.04):</h2>

<ul>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/277">pattern-editor: stamp-like drag-drop selections</a>
</li>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/285">UX: responsive file dialog</a>
</li>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/290">copy/pasting sample now reflects relative note too</a>
</li>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/289">liveperformance: shortcuts for channel highlighting/muting </a>
</li>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/289">linux: midi-in port selection</a>
</li>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/299">sample-editor: fadein, fadeout, loop fold</a>
</li>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/300">sample-editor: improved algo &amp; UX of compressor</a>
</li>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/288">improved navigation milkytracker-keyboard</a>
</li>
<li>
UX: added CTA's in instrument editor for new users
</li>
</ul>

<h2>Bugs fixed</h2>
<ul>
<li>
switch to C11 when compiling RTMIDI
</li>
<li>
<a href="https://github.com/milkytracker/MilkyTracker/pull/289">ability to run in non-opengl mode again</a>
</li>
<li>
Fix uninitialized read in piano control (nyanpasu64 ❤)
</li>
<li>
Fix About screen reading uninitialized memory (nyanpasu64 ❤)
</li>
<li>
Fix uninitialized fields in PPListBox (nyanpasu64 ❤)
</li>
<li>
Fix uninitialized fields in PatternEditorControl (nyanpasu64 ❤)
</li>
<li>
fix wrong cwd when loading file from command line (mothcompute ❤)
</li>
</ul>



<h2 id="v1.03">12/12/2020 (v1.03):</h2>
<h3 id="whats-new">What’s new:</h3>
<ul>
Expand Down
Loading