Skip to content

Commit

Permalink
v114.1.0 RELEASE (#2625)
Browse files Browse the repository at this point in the history
  • Loading branch information
tesshucom committed Apr 19, 2024
2 parents 4b4b010 + 4644c75 commit e95eee1
Show file tree
Hide file tree
Showing 50 changed files with 3,625 additions and 2,075 deletions.
29 changes: 28 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,34 @@
# jpsonic/jpsonic
# -->

## v114.1.0

## v114.0.0
#### Bug fixes

* Fix bug that UPnP resource properties included size ([#2584](https://github.com/tesshucom/jpsonic/issues/2584))
* Fix bug that settings could not be made on the "General Settings" ([#2592](https://github.com/tesshucom/jpsonic/issues/2592))
* Fix bug that the random maximum value of UPnP could not be set ([#2616](https://github.com/tesshucom/jpsonic/issues/2616))

#### Enhancement

* Migrate UPnP menu to customizable ([#2615](https://github.com/tesshucom/jpsonic/issues/2615))
* Add new subitem to UPnP Folder menu ([#2622](https://github.com/tesshucom/jpsonic/issues/2622))

#### Maintenance

* Mark features scheduled for removal as Deprecated ([#2585](https://github.com/tesshucom/jpsonic/issues/2585))
* Add arm64/v8 Alpine Image ([#2606](https://github.com/tesshucom/jpsonic/issues/2606))

#### Update Libs

- [v114.0.2](https://github.com/tesshucom/jpsonic/issues/2594)
- [v114.0.4](https://github.com/tesshucom/jpsonic/issues/2606)
- [v114.0.5](https://github.com/tesshucom/jpsonic/issues/2610)
- [v114.0.6](https://github.com/tesshucom/jpsonic/issues/2617)
- [v114.0.7](https://github.com/tesshucom/jpsonic/issues/2621)

<details>
<summary>v114.0.0</summary>

#### Enhancement

Expand Down Expand Up @@ -34,6 +60,7 @@
- [v114.0.0.alpha.1.2](https://github.com/tesshucom/jpsonic/issues/2561)
- [v114.0.0.alpha.2.2](https://github.com/tesshucom/jpsonic/issues/2572)

</details>
<details>
<summary>v113.0.0</summary>

Expand Down
2 changes: 1 addition & 1 deletion airsonic-taglibs/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.tesshu.jpsonic.player</groupId>
<artifactId>jpsonic</artifactId>
<version>114.0.7</version>
<version>114.1.0</version>
</parent>
<artifactId>airsonic-taglibs</artifactId>
<name>Airsonic Tag Libs</name>
Expand Down
2 changes: 1 addition & 1 deletion install/docker/alpine/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<relativePath>../../../pom.xml</relativePath>
<artifactId>jpsonic</artifactId>
<version>114.0.7</version>
<version>114.1.0</version>
<groupId>com.tesshu.jpsonic.player</groupId>
</parent>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion install/docker/jammy/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<relativePath>../../../pom.xml</relativePath>
<artifactId>jpsonic</artifactId>
<version>114.0.7</version>
<version>114.1.0</version>
<groupId>com.tesshu.jpsonic.player</groupId>
</parent>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion jpsonic-concurent17/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.tesshu.jpsonic.player</groupId>
<artifactId>jpsonic</artifactId>
<version>114.0.7</version>
<version>114.1.0</version>
</parent>
<artifactId>jpsonic-concurent17</artifactId>
<name>Concurent Config for Java17</name>
Expand Down
2 changes: 1 addition & 1 deletion jpsonic-concurent21/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.tesshu.jpsonic.player</groupId>
<artifactId>jpsonic</artifactId>
<version>114.0.7</version>
<version>114.1.0</version>
</parent>
<artifactId>jpsonic-concurent21</artifactId>
<name>Concurent Config for Java21</name>
Expand Down
2 changes: 1 addition & 1 deletion jpsonic-main/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.tesshu.jpsonic.player</groupId>
<artifactId>jpsonic</artifactId>
<version>114.0.7</version>
<version>114.1.0</version>
</parent>
<artifactId>jpsonic-main</artifactId>
<packaging>war</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,14 @@
package com.tesshu.jpsonic.command;

import java.util.List;
import java.util.Map;

import com.tesshu.jpsonic.domain.MenuItem;
import com.tesshu.jpsonic.domain.MenuItemId;
import com.tesshu.jpsonic.domain.MusicFolder;
import com.tesshu.jpsonic.domain.TranscodeScheme;
import com.tesshu.jpsonic.domain.Transcoding;
import com.tesshu.jpsonic.service.MenuItemService.MenuItemWithDefaultName;

public class DLNASettingsCommand extends SettingsPageCommons {

Expand All @@ -39,27 +43,17 @@ public class DLNASettingsCommand extends SettingsPageCommons {
private boolean transcodingSupported;
private boolean uriWithFileExtensions;

// Items to display
private boolean dlnaIndexVisible;
private boolean dlnaIndexId3Visible;
private boolean dlnaFolderVisible;
private boolean dlnaArtistVisible;
private boolean dlnaArtistByFolderVisible;
private boolean dlnaAlbumVisible;
private boolean dlnaPlaylistVisible;
private boolean dlnaAlbumByGenreVisible;
private boolean dlnaSongByGenreVisible;
private boolean dlnaRecentAlbumVisible;
private boolean dlnaRecentAlbumId3Visible;
private boolean dlnaRandomSongVisible;
private boolean dlnaRandomAlbumVisible;
private boolean dlnaRandomSongByArtistVisible;
private boolean dlnaRandomSongByFolderArtistVisible;
private boolean dlnaPodcastVisible;
// Menu settings
private List<MenuItemWithDefaultName> topMenuItems;

// Menu detail settings
private Map<MenuItemId, Boolean> topMenuEnableds;
private List<MenuItemWithDefaultName> subMenuItems;
private Map<MenuItemId, SubMenuItemRowInfo> subMenuItemRowInfos;

// Display options / Access control
private boolean dlnaGenreCountVisible;
private int dlnaRandomMax;
private Integer dlnaRandomMax;
private boolean dlnaGuestPublish;

public boolean isDlnaEnabled() {
Expand Down Expand Up @@ -146,132 +140,36 @@ public void setUriWithFileExtensions(boolean uriWithFileExtensions) {
this.uriWithFileExtensions = uriWithFileExtensions;
}

public boolean isDlnaIndexVisible() {
return dlnaIndexVisible;
}

public void setDlnaIndexVisible(boolean dlnaIndexVisible) {
this.dlnaIndexVisible = dlnaIndexVisible;
}

public boolean isDlnaIndexId3Visible() {
return dlnaIndexId3Visible;
}

public void setDlnaIndexId3Visible(boolean dlnaIndexId3Visible) {
this.dlnaIndexId3Visible = dlnaIndexId3Visible;
}

public boolean isDlnaFolderVisible() {
return dlnaFolderVisible;
}

public void setDlnaFolderVisible(boolean dlnaFolderVisible) {
this.dlnaFolderVisible = dlnaFolderVisible;
}

public boolean isDlnaArtistVisible() {
return dlnaArtistVisible;
public List<MenuItemWithDefaultName> getTopMenuItems() {
return topMenuItems;
}

public void setDlnaArtistVisible(boolean dlnaArtistVisible) {
this.dlnaArtistVisible = dlnaArtistVisible;
public void setTopMenuItems(List<MenuItemWithDefaultName> topMenuItems) {
this.topMenuItems = topMenuItems;
}

public boolean isDlnaArtistByFolderVisible() {
return dlnaArtistByFolderVisible;
public Map<MenuItemId, Boolean> getTopMenuEnableds() {
return topMenuEnableds;
}

public void setDlnaArtistByFolderVisible(boolean dlnaArtistByFolderVisible) {
this.dlnaArtistByFolderVisible = dlnaArtistByFolderVisible;
public void setTopMenuEnableds(Map<MenuItemId, Boolean> topMenuEnableds) {
this.topMenuEnableds = topMenuEnableds;
}

public boolean isDlnaAlbumVisible() {
return dlnaAlbumVisible;
public List<MenuItemWithDefaultName> getSubMenuItems() {
return subMenuItems;
}

public void setDlnaAlbumVisible(boolean dlnaAlbumVisible) {
this.dlnaAlbumVisible = dlnaAlbumVisible;
public void setSubMenuItems(List<MenuItemWithDefaultName> menuItems) {
this.subMenuItems = menuItems;
}

public boolean isDlnaPlaylistVisible() {
return dlnaPlaylistVisible;
public Map<MenuItemId, SubMenuItemRowInfo> getSubMenuItemRowInfos() {
return subMenuItemRowInfos;
}

public void setDlnaPlaylistVisible(boolean dlnaPlaylistVisible) {
this.dlnaPlaylistVisible = dlnaPlaylistVisible;
}

public boolean isDlnaAlbumByGenreVisible() {
return dlnaAlbumByGenreVisible;
}

public void setDlnaAlbumByGenreVisible(boolean dlnaAlbumByGenreVisible) {
this.dlnaAlbumByGenreVisible = dlnaAlbumByGenreVisible;
}

public boolean isDlnaSongByGenreVisible() {
return dlnaSongByGenreVisible;
}

public void setDlnaSongByGenreVisible(boolean dlnaSongByGenreVisible) {
this.dlnaSongByGenreVisible = dlnaSongByGenreVisible;
}

public boolean isDlnaRecentAlbumVisible() {
return dlnaRecentAlbumVisible;
}

public void setDlnaRecentAlbumVisible(boolean dlnaRecentAlbumVisible) {
this.dlnaRecentAlbumVisible = dlnaRecentAlbumVisible;
}

public boolean isDlnaRecentAlbumId3Visible() {
return dlnaRecentAlbumId3Visible;
}

public void setDlnaRecentAlbumId3Visible(boolean dlnaRecentAlbumId3Visible) {
this.dlnaRecentAlbumId3Visible = dlnaRecentAlbumId3Visible;
}

public boolean isDlnaRandomSongVisible() {
return dlnaRandomSongVisible;
}

public void setDlnaRandomSongVisible(boolean dlnaRandomSongVisible) {
this.dlnaRandomSongVisible = dlnaRandomSongVisible;
}

public boolean isDlnaRandomAlbumVisible() {
return dlnaRandomAlbumVisible;
}

public void setDlnaRandomAlbumVisible(boolean dlnaRandomAlbumVisible) {
this.dlnaRandomAlbumVisible = dlnaRandomAlbumVisible;
}

public boolean isDlnaRandomSongByArtistVisible() {
return dlnaRandomSongByArtistVisible;
}

public void setDlnaRandomSongByArtistVisible(boolean dlnaRandomSongByArtistVisible) {
this.dlnaRandomSongByArtistVisible = dlnaRandomSongByArtistVisible;
}

public boolean isDlnaRandomSongByFolderArtistVisible() {
return dlnaRandomSongByFolderArtistVisible;
}

public void setDlnaRandomSongByFolderArtistVisible(boolean dlnaRandomSongByFolderArtistVisible) {
this.dlnaRandomSongByFolderArtistVisible = dlnaRandomSongByFolderArtistVisible;
}

public boolean isDlnaPodcastVisible() {
return dlnaPodcastVisible;
}

public void setDlnaPodcastVisible(boolean dlnaPodcastVisible) {
this.dlnaPodcastVisible = dlnaPodcastVisible;
public void setSubMenuItemRowInfos(Map<MenuItemId, SubMenuItemRowInfo> subMenuItemRowInfos) {
this.subMenuItemRowInfos = subMenuItemRowInfos;
}

public boolean isDlnaGenreCountVisible() {
Expand All @@ -282,11 +180,11 @@ public void setDlnaGenreCountVisible(boolean dlnaGenreCountVisible) {
this.dlnaGenreCountVisible = dlnaGenreCountVisible;
}

public int getDlnaRandomMax() {
public Integer getDlnaRandomMax() {
return dlnaRandomMax;
}

public void setDlnaRandomMax(int dlnaRandomMax) {
public void setDlnaRandomMax(Integer dlnaRandomMax) {
this.dlnaRandomMax = dlnaRandomMax;
}

Expand All @@ -297,4 +195,7 @@ public boolean isDlnaGuestPublish() {
public void setDlnaGuestPublish(boolean dlnaGuestPublish) {
this.dlnaGuestPublish = dlnaGuestPublish;
}

public record SubMenuItemRowInfo(MenuItem firstChild, int count) {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -130,16 +130,17 @@ public enum Request {
P(NameConstants.P), PASSWORD(NameConstants.PASSWORD), PATH(NameConstants.PATH), PLAYER(NameConstants.PLAYER),
PLAYLIST(NameConstants.PLAYLIST), PLAYLIST_ID(NameConstants.PLAYLIST_ID),
PODCAST_ROLE(NameConstants.PODCAST_ROLE), POSITION(NameConstants.POSITION), PUBLIC(NameConstants.PUBLIC),
QUERY(NameConstants.QUERY), RATING(NameConstants.RATING), REFRESH(NameConstants.REFRESH), S(NameConstants.S),
SETTINGS_ROLE(NameConstants.SETTINGS_ROLE), SHARE_ROLE(NameConstants.SHARE_ROLE),
SHOW_OUTLINE_HELP(NameConstants.SHOW_OUTLINE_HELP), SIZE(NameConstants.SIZE), SONG(NameConstants.SONG),
SONG_COUNT(NameConstants.SONG_COUNT), SONG_ID(NameConstants.SONG_ID),
SONG_ID_TO_ADD(NameConstants.SONG_ID_TO_ADD), SONG_INDEX_TO_REMOVE(NameConstants.SONG_INDEX_TO_REMOVE),
SONG_OFFSET(NameConstants.SONG_OFFSET), SOURCE_FORMATS(NameConstants.SOURCE_FORMATS),
STEP1(NameConstants.STEP1), STEP2(NameConstants.STEP2), STREAM_ROLE(NameConstants.STREAM_ROLE),
STREAM_URL(NameConstants.STREAM_URL), SUBMISSION(NameConstants.SUBMISSION), SUFFIX(NameConstants.SUFFIX),
T(NameConstants.T), TARGET_FORMAT(NameConstants.TARGET_FORMAT), TIME_OFFSET(NameConstants.TIME_OFFSET),
TITLE(NameConstants.TITLE), TO_YEAR(NameConstants.TO_YEAR), TYPE(NameConstants.TYPE), U(NameConstants.U),
QUERY(NameConstants.QUERY), RATING(NameConstants.RATING), REFRESH(NameConstants.REFRESH),
RESET(NameConstants.RESET), S(NameConstants.S), SETTINGS_ROLE(NameConstants.SETTINGS_ROLE),
SHARE_ROLE(NameConstants.SHARE_ROLE), SHOW_OUTLINE_HELP(NameConstants.SHOW_OUTLINE_HELP),
SIZE(NameConstants.SIZE), SONG(NameConstants.SONG), SONG_COUNT(NameConstants.SONG_COUNT),
SONG_ID(NameConstants.SONG_ID), SONG_ID_TO_ADD(NameConstants.SONG_ID_TO_ADD),
SONG_INDEX_TO_REMOVE(NameConstants.SONG_INDEX_TO_REMOVE), SONG_OFFSET(NameConstants.SONG_OFFSET),
SOURCE_FORMATS(NameConstants.SOURCE_FORMATS), STEP1(NameConstants.STEP1), STEP2(NameConstants.STEP2),
STREAM_ROLE(NameConstants.STREAM_ROLE), STREAM_URL(NameConstants.STREAM_URL),
SUBMISSION(NameConstants.SUBMISSION), SUFFIX(NameConstants.SUFFIX), T(NameConstants.T),
TARGET_FORMAT(NameConstants.TARGET_FORMAT), TIME_OFFSET(NameConstants.TIME_OFFSET), TITLE(NameConstants.TITLE),
TO_YEAR(NameConstants.TO_YEAR), TYPE(NameConstants.TYPE), U(NameConstants.U),
UPLOAD_ROLE(NameConstants.UPLOAD_ROLE), URL(NameConstants.URL), USER(NameConstants.USER),
USER_INDEX(NameConstants.USERINDEX), USER_NAME(NameConstants.USERNAME),
USERNAME_OR_EMAIL(NameConstants.USERNAME_OR_EMAIL), V(NameConstants.V),
Expand Down Expand Up @@ -264,6 +265,7 @@ public static final class NameConstants { // Used from annotation
public static final String QUERY = "query";
public static final String RATING = "rating";
public static final String REFRESH = "refresh";
public static final String RESET = "reset";
public static final String S = "s";
public static final String SCAN_NOW = "scanNow";
public static final String SCAN_CANCEL = "scanCancel";
Expand Down

0 comments on commit e95eee1

Please sign in to comment.