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

Migrate UPnP menu to customizable #2615

Merged
merged 7 commits into from
Apr 13, 2024
Merged

Conversation

tesshucom
Copy link
Owner

@tesshucom tesshucom commented Apr 12, 2024

Prerequisites: #2587

Overview

Users will have the ability to customize their UPnP content list more flexibly.

Jpsonic's UPnP has long been a style that provides multiple views with slightly different specifications, and allows the user to enable the one of them that they want to use. This pull request will allow users to rename and reorder UPnP items.

Goal

  • Supports enabling/disabling, renaming, and reordering of UPnP items.
  • Menu settings will be changed to be managed on the DB instead of the Property file.
  • In preparation for future feature additions. Make it easy to add missing items.

Non-Goal

  • This pull request only rewrites the previous menu management structure. No new views have been added.
  • Enabling/disabling settings previously set by the user will not be migrated. Please note that your previous settings will be discarded.

Web page changes

UPnP settings Page has been changed

"UPnP basic settings" remains unchanged. Newly added "Menu settings" and "Customizing content display".

image

Menu settings

Currently, there are eight basic menu items such as FOLDER and ARTIST. New items are planned to be added to these menu items in v114.x.

  • Can be enabled/disabled.
  • You can set the display name.
    • To avoid confusion, the initial setting is "Album Artist", but it could be abbreviated to "Artist".
    • The purpose is also to avoid i18n. Users can set it to their native language.
  • It is possible to change the order. However, it is powerless against Apps that overwrite sorting. Choose good client software. (In UPnP, Apps that force client-specific sorting, at least by default, can be called anarchy.)

Settings can be changed instantly. No service restart is required. With software such as BubbleUPnP, which has an excellent cache refresh design, it will be easy to confirm this.

image

Customizing content display
  • It is possible to change the display contents of the menu.
  • By default, one item is enabled for each item. If multiple Items are enabled for a single menu, the UI will display more nested structures.
    • Display name will only be used if multiple items are enabled. If only one is enabled, its contents will be displayed directly. To minimize nesting of the UI, only one item should be enabled.
    • If all items are disabled for a menu, the default item will be enabled.
    • New items will be added to these sub-items in v114.x.
    • Internally, these items can be sorted, but there are no plans to implement this functionality for the time being.
      • By design, items that will not surprise the user are provided at the top of the list. Items that currently do not have such general views may have new views added in the future..
      • Or items with lower cross-platform characteristics will not be ranked higher. (For example, items that depend on file dates are unlikely to be designed as default value.) In other words, they are not arranged completely based on the user's senses, so it may not meet your expectations.

image

Contents of changes

  • Change settings page to allow customization of UPnP menu
  • Add Reset Buttons to UPnP menu settings
  • Remove unnecessary Settings Properties
  • Add test cases
  • Add Simple Help

@tesshucom tesshucom added type: enhancement A general enhancement in: UPnP Issues in UPnP labels Apr 12, 2024
@tesshucom tesshucom added this to the jpsonic 114.1 milestone Apr 12, 2024
@tesshucom tesshucom self-assigned this Apr 12, 2024
@tesshucom tesshucom mentioned this pull request Apr 12, 2024
@tesshucom tesshucom force-pushed the feature/upnp-menu-customize branch 2 times, most recently from 574170f to 92546b8 Compare April 13, 2024 05:49
 - Previously, the UPnP Top menu consisted of Property file settings.
   This will be changed so that it can be generated dynamically from the
   DB definition.
 - The concept of hierarchy will be introduced to the UPnP top menu.
 - This commit only includes UPnP View Changes. The edit of menu is
   independent of these implementations and will be realized as a DB
   data edit from the Web page.
This commit will only add edits to existing UPnP views.
Customization features for these higher-level menu items will be added
in a later commit.

 - Enable/disable existing UPnP View
 - Add feature to rename existing UPnP views
 - The menu order and the default value of enabled have been redefined.
 - If all submenus are disabled, the default submenu will be enabled.
 - These have been changed to be managed on the database.
@tesshucom tesshucom merged commit ecf868c into develop Apr 13, 2024
2 checks passed
@tesshucom tesshucom linked an issue Apr 13, 2024 that may be closed by this pull request
@tesshucom tesshucom deleted the feature/upnp-menu-customize branch April 13, 2024 10:36
This was referenced Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: UPnP Issues in UPnP type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[UPnP Menu] Migrate to customizable menu
1 participant