milkytracker / MilkyTracker

An FT2 compatible music tracker
http://milkytracker.github.io/
Other
1.67k stars 160 forks source link

v1.05 release candidate (betatest) #341

Open coderofsalvation opened 3 months ago

coderofsalvation commented 3 months ago

HELP wanted: I'd like to kindly ask anyone to test the current v1.05 branch (here be dragons).

Various exciting reviewed PR's have been merged into the rc/1.05 branch:

image

builds

MAC devs: As I don't have a mac, I would be SO THANKFUL if somebody could build rc/1.05 and give it a go? @johngirvin @ghost @krehel @wormyrocks

TESTCASES

please help test the following for the next release:

  1. does the new build work well with the existing milkytracker config file (in user configuration/home dir).
  2. if not, does it work when temporarely moving the milkytracker config file to another file (a new one will be created).
  3. does ticking classic UX-checkbox and unticking flat button (see config>layout) revert to the classic (cluttered) UI (after restarting?)
  4. does the SYNTH work (sampler section)
  5. does the SYNTH rename the current sample to an ASCIISYNTH string?
  6. does the synth allow painting over the current wave (additional synthesis)
  7. do the new effects work (sampler section and limiter in global section)
  8. does the sampler section gets updated with the current sampler when selecting a different instrument note in the pattern editor (instr. backtrace needs to be enabled in global settings)
  9. are the dialogs now styled with the same background colors as the palette (used to be statically defined to light-gray)
  10. other thoughts?

After fixing the last bugs of rc/1.05 we can: safely merge to master, and do a release v1.05 ! Sorry for the long wait, but this workflow is a safer way, as many reviewed PR's were interdependent.

The PR's (https://github.com/milkytracker/MilkyTracker/pull/291) and (https://github.com/milkytracker/MilkyTracker/pull/282) will probably be pushed towards v1.06 as they might get refactored to lua (which ties in with more recent discussions here)

johngirvin commented 3 months ago

Line 94 of TrackerStartUp.cpp needs to be getenv("NO_SCALE") instead of std::getenv("NO_SCALE") to build on my macOS 12 box. It starts OK and plays a mod but I'm not really able to test it further.

Deltafire commented 3 months ago

Line 94 of TrackerStartUp.cpp needs to be getenv("NO_SCALE") instead of std::getenv("NO_SCALE") to build on my macOS 12 box. It starts OK and plays a mod but I'm not really able to test it further.

AppVeyor reported this problem with Visual Studio 2017 also:

https://ci.appveyor.com/project/Deltafire/milkytracker/builds/49486977

Deltafire commented 3 months ago

MacOS test build: milkytracker-1.05.RC-Darwin.dmg.zip (scroll the finder window to the right to show the MilkyTracker icon)

Some intial thoughts, testing on MacOS:

coderofsalvation commented 3 months ago

Line 94 of TrackerStartUp.cpp needs to be getenv("NO_SCALE") instead of std::getenv("NO_SCALE") to build on my

@Deltafire @johngirvin is fixed now in rc/1.05

* Wow, the interface has changed! Not sure how I would now do the things that the buttons are now missing for. I found the 'Classic UX' button in settings.

All non-critical buttons are moved to the context-menu (rightclick in pattern editor)

* Not sure about the yellow buttons and pink numbers.

I think these are your old milkytracker config values leaking into the new default ones.

* "welcome 2 Milkytracker", I think "Welcome to MilkyTracker" would look better.

OK will change if this fits characterwise.

* CTRL seems to be CMD instead, but CMD-h and CMD-space are intercepted by the OS for other functions.
* The record ❤️ button seems to be stuck down.
* Opening a file asks if I want to save changes, even if there were none.

will investigate thx!

btw. @Deltafire thank you VERY much for testing, really appreciate it.

Deltafire commented 3 months ago

Regarding CMD, I think the solution would be to allow both modifiers - I'll have a look later to see if this can be done.

Implemented in d3259da

The MacOS build is a bit broken at the moment, due to a Python2 dependency in the Docerator program it's using to generate doc icons. I think I'll remove this since Docerator has been unmaintained for 10 years now.

Docerator removed in fd29dae

herrglocke commented 3 months ago

Really cool to see the progress being made here, and the first steps of a GUI overhaul, which I think Milky could really benefit from. I am happy to help testing on Mac if needed, Deltafire's build seems to work OK so far. The testcases all look OK to me though the synth still has some wonky UI handling or maybe I am not using it right (e.g. when changing the paint type, the UI window is redrawn empty and only comes back after clicking one more time)

Cant wait to see more happening here!

MetalMaxMX commented 3 months ago

Trying out different resolutions to check how the screen looks and something looked a bit off to me. On the new UI, anything lower than 1024*768 will look off, more specifically, it won't apply any form of bilineal filtering over the UI. I checked the tickbox to make it look back to the old UI and then another regression happened, the same resolution seen from two MilkyTrackers will show off that difference in the lack of filtering. I am wondering if this is a config issue or something else.

coderofsalvation commented 3 months ago

@MetalMaxMX I'm thinking two things:

1) does this also happend with a fresh milktracker config? (testcase 2) 2) Perhaps this is because of: https://github.com/milkytracker/MilkyTracker/commit/4ea3dd0cdc9a38138acc174ec8ed86cd27b12e1d

Btw. which platform, and are you on a high-dpi or non-highdpi screen? The idea behind 2 to do scaling similar to schismtracker. People had been complaining about the blurryness of milkytracker when scaling up the window.

krehel commented 3 months ago

Test build from me - this is a Universal app supporting Apple Silicon and Intel. milkytracker-1.04.00-Darwin-universal.dmg.zip

MetalMaxMX commented 3 months ago

@MetalMaxMX I'm thinking two things:

1. does this also happend with a fresh milktracker config? (testcase 2)

2. Perhaps this is because of: [4ea3dd0](https://github.com/milkytracker/MilkyTracker/commit/4ea3dd0cdc9a38138acc174ec8ed86cd27b12e1d)

Btw. which platform, and are you on a high-dpi or non-highdpi screen? The idea behind 2 to do scaling similar to schismtracker. People had been complaining about the blurryness of milkytracker when scaling up the window.

Hello! I am using Linux, Debian 11 more specifically and I built the source code myself. I am under X.org using Xfce with compositing disabled. And I am on a non-highdpi screen, the config 1.05 is using seems to be the same as the one that 1.04 already uses.

I tried with a new fresh configuration and I didn't have the issue! I then tried a 720*480 resolution with 1x scale and the UI looked a bit jagged, just like when I was trying it. Seems like it lacks some sort of bilinear filter over this mode?

coderofsalvation commented 2 months ago

@MetalMaxMX interesting, maybe post a screenshot? With the settings you mentioned (and all resolutions) it looks OK here, worstcase when resizing the window it can looked jagged for certain dimensions.

I run xfce too with compositing disabled, so perhaps somehow it got resized on your side anyways?

MetalMaxMX commented 2 months ago

@coderofsalvation Sure, here's a few

MilkyTracker New (1.05RC) milkytrackernew

MilkyTracker Old (1.04) milkytrackerold

May be difficult to see but notice that bilinear filtering has been applied on MilkyTracker old (that means 1.04) while 1.05rc doesn't produce any filtering, this is with either the classic UI or not.

Deltafire commented 2 months ago

Maybe add a configuration option for 4ea3dd0.

coderofsalvation commented 2 months ago

@Deltafire good point, I'll add something like this then:

image

or worstcase an environment-variable (SCALING=nearest milkytracker) because the config might not be accessible yet during SDL init.

CarstenNew commented 1 month ago

On Manjaro Linux it compile just fine and plays all tested Mods. I try to follow your questions:

To 1: I have to make a new config, otherwise the yellow buttons have no symbols on. To 2: Then i did this To 3: Yes. It worked both ways. To 4: I need more practice to use it properly but it seems to work. To 5: Yes. I try to rename the sample to get a other sound, but this is not possible.
To 6: Yes, i can paint over, but what i get i will not call a additional synthesis... To 7: Yes, i can add the FX to the samples. To 8: Yes, works fine. To 9: Yes. PS: The UI scaling is not better, at least for me. I have to try different obscure "custom" resolutions on my normal FHD-Laptop to get a proper result. When i chose a higher resolution from the list, the performance is unusable, like in the old Milkytracker.

FaZz321 commented 1 month ago

Hello. I built rc/1.05 for Arch Linux and just tried to break all the things I could break. )

Sample editor/synth:

  1. Strange behavior for the min and max values on synth sliders. You can have different result with the same parameter values. You can reproduce it with moving slider cursor using mouse or by clicking left-right arrows. Easy to see with "wave type" slider in add-synth (try to go 'beyond' min/max values, by using arrows and using cursor, you'll get different results). 2024-05-29_22-20_1 2024-05-29_22-20
  2. Changing synth type not always redraws the synth controls. It'll be redrawn only after you move synth window a bit. 2024-05-29_22-17_1
  3. Synth window could stop producing sounds during the synth editing. If you click "ok" and close the synth edit window, the sample sound will be played, so it's not the synth settings. You can reproduce it by zapping everything with classic UI, but it's not the only way to do it (not sure what the other ways are but I did it without zapping the project).
  4. Are context menu generators now additive too? It's feels like a bug (not sure). When you use fm-synth two times in a row it acts additive (sums two waves), but when you switch to add-synth it overwrites the results. Add-synth is applied to selection and could be used on other waves, fm-synth doesn't. It's a bit all over the place - very unpredictable IMO.
  5. Switching synth form from 'add' to 'fm' erases the original sample even if the action is canceled in the end. You can lose a sample by mistake.

Other things:

  1. Couldn't find a button for zapping everything in new UI. Not sure how can I start a new project in 1.05 without closing the milky tracker.
coderofsalvation commented 1 month ago

These are good points (thanks!), especially the lazy redraw stuff. I'm a bit busy recently but hope to look at it asap.

NOTE: if you can't find something in the non-classic UI, it's in the context-menu (right-click)

image