Skip to content

Added 120FPS and 144FPS option in preferences; added "Fluent" theme; increased tempo limit #247

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

Merged
merged 4 commits into from
May 23, 2021

Conversation

OctoFlareDev
Copy link
Collaborator

@OctoFlareDev OctoFlareDev commented May 20, 2021

Added higher FPS options for stabler tempo.
Added a new theme inspired by Microsoft's Fluent Design.
Increased tempo limit because why not

Fixed a bug about the marker not long enough.

@Bentroen
Copy link
Member

Hello! Thank you for your PR :)

Although I like the attempt to make the tempo more stable, I'm not too fond of adding higher FPS options. The program already lags enough trying to draw 60 FPS, and although a modern PC could probably handle drawing more frames, I don't think the difference would be too significant. In theory, trying to push out more frames should make the playback smoother, but from my experience, it sort of causes the opposite effect: by forcing the program to draw more frames, you make it lag more, which makes the playback less smooth. Ultimately, assessing whether it'd be a good addition would require a lot of testing on different setups.

On an unrelated note, why is the entire file being changed on the diff? It's making it sort of difficult to track what changed.

@OctoFlareDev
Copy link
Collaborator Author

It still sounds a little "swing" feeling when playing using 60hz and my computer can handle 144hz very well so it's ok to have an option for people with higher standards and better a computer.

if (draw_radiobox(x1 + 40, y1 + 164 + 16 + 20, theme == 2, "Dark", "Use the dark theme.")) {theme = 2 change_theme()}
if (draw_radiobox(x1 + 40, y1 + 164 + 16 + 20 + 20, theme == 1, "90s", "Use the 90s theme.")) {theme = 1 change_theme()}
if (draw_checkbox(x1 + 40, y1 + 164 + 16 + 20 + 20 + 25, blackout, "Blackout mode", "Makes the workspace background solid black, so you can\nkey it out in your video editor when recording the screen.")) blackout = !blackout
draw_areaheader(x1+258,y1+164,220,60,"Max frame rate (experimental)")
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed section

game_set_speed(144,gamespeed_fps)
refreshrate=3
}

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

End changed section

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I don't use Github a lot :)

@OctoFlareDev OctoFlareDev changed the title Added 120FPS and 144FPS option in preferences Added 120FPS and 144FPS option in preferences; added "Fluent" theme; increased tempo limit May 22, 2021
@ShinkoNet ShinkoNet merged commit 3d44ecb into OpenNBS:development May 23, 2021
@Bentroen
Copy link
Member

I like the new theme a lot!! Great work :)

We do have a slight problem though. I see you added the Segoe font family to the source; however, Microsoft does not allow redistributing Windows fonts as bitmaps inside of a program. From the Font redistribution FAQ for Windows:

Can I embed the fonts into a game, application or device I’m developing based on the document font embedding permissions?

No, document font embedding permissions relate to embedding fonts in documents only, not embedding fonts in games, apps and devices.

If I convert the font into a bitmap font can I include that in my game or app?

No, converting Windows fonts to other formats does not change the rules around embedding or redistribution, and format conversion itself is not allowed. Many Microsoft supplied fonts are available for app and game licensing through the original font foundry or Monotype.

The program has a history of using various libraries without proper credit (see #84 (comment)), which is something I'm actively trying to revert. Adding unlicensed fonts would be a step in the wrong direction.

Microsoft does provide an open-source alternative to Segoe UI:

How about Segoe UI? I love it and would like to include that in my non-Windows app or game. Is it available from Monotype?

No, as Segoe UI is both our user interface and corporate branding font, it is not available for use outside of Microsoft products on non-Windows platforms. However, we do have a Segoe-compatible open-source font you can use: Selawik.

This should be the way to go. I won't revert the merge, but we should open another pull request addressing this.

@Bentroen
Copy link
Member

Some immediate issues I see with the Fluent theme:

  • Layer lock icon has volume off icon
  • Low contrast between selected color (blue) and icon color (use a softer shade of blue?)
  • Low contrast between locked buttons and text (for instance, the lower buttons in instrument settings)
  • Last layer is missing an outline
  • There doesn't seem to be a pattern between switches and checkboxes on toggles (?)
  • Song timestamp bounces around during playback due to the text length changing
  • Metronome icon is missing a 1 on the first beat (a limitation on the way it was implemented, which uses the same icon as when stopped)
  • Hover and press button bevels are the same color as the background (plain white)

Now onto issues revealed by the 120/144 FPS options:

  • Menu opening animations are faster on higher FPS, which makes menus close instantly when clicked
  • Edge scrolling when dragging a selection/moving notes is accentuated on higher FPS
  • Sound count is updated far too often
  • A "114514 FPS" option was forgotten there...? xD

(Most of these actually used to be a problem before this addition, but the higher FPS counts have made them much more apparent.)

Overall, you did an amazing job with these additions. I'm surprised at how good you made the theme look despite all the limitations of the code.

Once these issues are addressed, I'm quite confident that we can make it the default theme! (would be really neat to see a dark version of it as well :)

@OctoFlareDev
Copy link
Collaborator Author

OctoFlareDev commented May 23, 2021

Some immediate issues I see with the Fluent theme:

  • Layer lock icon has volume off icon
  • Low contrast between selected color (blue) and icon color (use a softer shade of blue?)
  • Low contrast between locked buttons and text (for instance, the lower buttons in instrument settings)
  • Last layer is missing an outline
  • There doesn't seem to be a pattern between switches and checkboxes on toggles (?)
  • Song timestamp bounces around during playback due to the text length changing
  • Metronome icon is missing a 1 on the first beat (a limitation on the way it was implemented, which uses the same icon as when stopped)
  • Hover and press button bevels are the same color as the background (plain white)

Now onto issues revealed by the 120/144 FPS options:

  • Menu opening animations are faster on higher FPS, which makes menus close instantly when clicked
  • Edge scrolling when dragging a selection/moving notes is accentuated on higher FPS
  • Sound count is updated far too often
  • A "114514 FPS" option was forgotten there...? xD

(Most of these actually used to be a problem before this addition, but the higher FPS counts have made them much more apparent.)

Overall, you did an amazing job with these additions. I'm surprised at how good you made the theme look despite all the limitations of the code.

Once these issues are addressed, I'm quite confident that we can make it the default theme! (would be really neat to see a dark version of it as well :)

  • I made lock layer a volume off because locking a layer functions as muting a layer
  • I accidentally made it blue (it was supposed to be grey)
  • Working on
  • I removed the outline because there isn't supposed to be an outline in Fluent Design if we're talking about the same outline
  • There is no pattern in my windows settings and powertoys preferences of checkboxes and flip switches either
  • It will be better when positioning using left coords
  • I made the timer icon follow Windows's file name logic
  • Forgot to add that
  • It's noticeable even on 60fps just not significant, I hold the tab and move to menu items and release to go to settings
  • Working on
  • I think it works like that in Minecraft too
  • It's supposed to be a Unlimited FPS option, changing...

OctoFlareDev added a commit to OctoFlareDev/OpenNoteBlockStudio that referenced this pull request May 23, 2021
Bentroen added a commit that referenced this pull request Jul 23, 2021
Bentroen added a commit that referenced this pull request Jul 24, 2021
Squashed commit of the following:

commit 31aaf46
Author: Bentroen <[email protected]>
Date:   Sat Jul 24 00:17:57 2021 -0300

    Clearer wording on changelog

commit 5a16403
Author: Bentroen <[email protected]>
Date:   Fri Jul 23 22:07:37 2021 -0300

    3.8.3

commit db05f4f
Author: Bentroen <[email protected]>
Date:   Fri Jul 23 07:11:23 2021 -0300

    Save older NBS warning preference to settings

commit 6015344
Author: Bentroen <[email protected]>
Date:   Fri Jul 23 07:06:05 2021 -0300

    Add preference toggle for warning when opening older NBS files

commit 57e5725
Author: Bentroen <[email protected]>
Date:   Fri Jul 23 06:13:18 2021 -0300

    Change default window scale based on display DPI

commit 7d892ef
Author: Bentroen <[email protected]>
Date:   Fri Jul 23 06:04:34 2021 -0300

    Update GameMaker IDE to 2.3.3.570

commit 6debfb4
Author: Bentroen <[email protected]>
Date:   Fri Jul 23 05:16:45 2021 -0300

    Revert changes in pull request #247

    Reverts changes in commits 3b3e8a9, e391e1c, b8ed482 and 73af6b5.

commit fa42437
Author: Bentroen <[email protected]>
Date:   Fri Jul 23 04:58:41 2021 -0300

    Revert changes in pull request #227

    Reverts changes in commits 3a44405 and bfb5417.

commit e58757a
Merge: 3d44ecb 601d12f
Author: ShinkoNet <[email protected]>
Date:   Sun May 23 10:07:00 2021 +1000

    Merge pull request #227 from karl-police/patch-1

    MIDI wrong import and input fix

commit 3d44ecb
Merge: 4854f47 3b3e8a9
Author: ShinkoNet <[email protected]>
Date:   Sun May 23 10:06:37 2021 +1000

    Merge pull request #247 from chenxi050402/development

    Added 120FPS and 144FPS option in preferences; added "Fluent" theme; increased tempo limit

commit 3b3e8a9
Author: chenxi050402 <[email protected]>
Date:   Sun May 23 03:45:13 2021 +0800

    Added window shadow

commit e391e1c
Author: chenxi050402 <[email protected]>
Date:   Sun May 23 02:22:22 2021 +0800

    Minor changes to icon

commit b8ed482
Author: chenxi050402 <[email protected]>
Date:   Sat May 22 23:59:08 2021 +0800

    Added "Fluent" theme; increased tempo limit

commit 4854f47
Merge: ae55ccf 87e792b
Author: Bentroen <[email protected]>
Date:   Thu May 20 18:11:50 2021 -0300

    Merge pull request #236 from elfq/patch-1

    Update license year -> 2021

commit 73af6b5
Author: chenxi050402 <[email protected]>
Date:   Fri May 21 00:58:25 2021 +0800

    Added 120FPS and 144FPS option

commit ae55ccf
Author: Bentroen <[email protected]>
Date:   Sat Apr 17 05:08:07 2021 -0300

    Position windows correctly in the center when scaling the window

commit 383d62a
Author: Bentroen <[email protected]>
Date:   Sat Apr 17 05:01:43 2021 -0300

    Implement window scale control

    Fixes #31

commit 3a57460
Author: Bentroen <[email protected]>
Date:   Sat Apr 17 04:31:25 2021 -0300

    Update GameMaker IDE to 2.3.2.556

commit 87e792b
Author: elf <[email protected]>
Date:   Wed Mar 3 21:47:53 2021 -0500

    Update license year -> 2021

commit a983ec2
Author: Bentroen <[email protected]>
Date:   Mon Jan 18 18:28:41 2021 -0300

    Fix Edit menu click offset by one

    Fixes #228

commit 601d12f
Merge: bfb5417 3a44405
Author: karl-police <[email protected]>
Date:   Thu Jan 14 11:29:49 2021 +0100

    Merge pull request #1 from karl-police/patch-2

    Update import_midi.gml

commit 3a44405
Author: karl-police <[email protected]>
Date:   Thu Jan 14 11:29:18 2021 +0100

    Update import_midi.gml

commit bfb5417
Author: karl-police <[email protected]>
Date:   Thu Jan 14 11:28:02 2021 +0100

    Update midi_input_set_key.gml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants