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

Release/v1.1.0 #73

Merged
merged 78 commits into from
Apr 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
cf754b2
Gradle upgrade, dependency upgrades
CodeDead Aug 28, 2022
1d1aadf
Merge pull request #43 from CodeDead/feature/upgrades
CodeDead Aug 28, 2022
316aca5
Added media buttons to play / pause media, added a setting to disable…
CodeDead Aug 28, 2022
52681e3
Merge pull request #44 from CodeDead/feature/media-buttons
CodeDead Aug 28, 2022
18a6800
Changed football translation to better reflect the audience, changed …
CodeDead Aug 28, 2022
4155c2c
Merge pull request #45 from CodeDead/feature/translation-improvements
CodeDead Aug 28, 2022
17080a3
Improved code for sound panes, improved code quality by using binding…
CodeDead Sep 3, 2022
21ced43
Timer will now pause the media instead of resetting the volume, more …
CodeDead Sep 3, 2022
f449a42
Merge pull request #46 from CodeDead/feature/refactoring
CodeDead Sep 3, 2022
499cb60
Removed some obsolete methods, fixed an issue with the log level not …
CodeDead Sep 4, 2022
4bf3d9b
Merge pull request #47 from CodeDead/feature/cleanup
CodeDead Sep 4, 2022
9fcafcb
Updated picture
CodeDead Sep 4, 2022
a898ec5
Design improvement
CodeDead Sep 4, 2022
ec19ae4
Added a link to JavaFX homepage
CodeDead Sep 4, 2022
dd7b2bd
Dependency upgrades
CodeDead Sep 14, 2022
44626bc
Added ability to disable dragging and dropping, fixed an issue with t…
CodeDead Sep 15, 2022
f80092e
Merge pull request #48 from CodeDead/feature/dragdrop-setting
CodeDead Sep 15, 2022
edd33f4
Fixed an issue with setting the default log level when the properties…
CodeDead Sep 15, 2022
3185a1b
Make use of AtlantaFX, revert to jfx 18.0.2 due to regression bug
CodeDead Sep 16, 2022
c08d6c5
Jfx 19
CodeDead Sep 16, 2022
491b376
Merge pull request #49 from CodeDead/feature/atlantafx
CodeDead Sep 16, 2022
216b8cc
Added separators under the category titles
CodeDead Sep 16, 2022
9f063d1
Added a 'space' sound, refactoring
CodeDead Sep 16, 2022
5737e95
Merge pull request #50 from CodeDead/feature/space-sound
CodeDead Sep 16, 2022
f776947
Russian translation fixes
CodeDead Sep 16, 2022
4af487d
Added a 'restaurant' sound
CodeDead Sep 16, 2022
6fc288c
Merge pull request #51 from CodeDead/feature/restaurant-sound
CodeDead Sep 16, 2022
a3a552a
Tabs are now placed vertically in the settings window and added a can…
CodeDead Sep 17, 2022
8725eb6
Merge pull request #52 from CodeDead/feature/settings-redesign
CodeDead Sep 17, 2022
860758a
Added a tray icon
CodeDead Sep 18, 2022
b6d01d7
Fixed typo
CodeDead Sep 18, 2022
7a79b14
Set tooltip text
CodeDead Sep 18, 2022
5020fe8
Merge pull request #53 from CodeDead/feature/tray-icon
CodeDead Sep 18, 2022
9b9b3b1
Refactoring, display an error message when tray icon cannot be created
CodeDead Sep 18, 2022
fbf7732
Translation fix
CodeDead Sep 18, 2022
53cf74c
Added an ocean sound
CodeDead Sep 18, 2022
44ddf18
Merge pull request #56 from CodeDead/feature/ocean-sound
CodeDead Sep 18, 2022
8f2ff02
Added a train sound
CodeDead Sep 18, 2022
ae83042
Merge pull request #57 from CodeDead/feature/train-sound
CodeDead Sep 18, 2022
36ad82f
More code refactoring and readability improvements
CodeDead Sep 18, 2022
0c53ff9
Merge pull request #58 from CodeDead/feature/refactoring
CodeDead Sep 18, 2022
bc29970
Minor refactoring
CodeDead Sep 18, 2022
bbb6a2b
Added fix for log4j2 missing uses statements, changed logging pattern
CodeDead Sep 18, 2022
578bf9f
Added japanese language translations
CodeDead Sep 18, 2022
75515f8
Merge pull request #59 from CodeDead/feature/japanese
CodeDead Sep 18, 2022
43261fc
Bumped JDK to v19, updated JavaFX to latest build to fix media loadin…
CodeDead Oct 12, 2022
0bb2180
Gradle upgrade, dependency upgrades
CodeDead Dec 2, 2022
0f2d329
Merge pull request #61 from CodeDead/feature/upgrades
CodeDead Dec 2, 2022
6b01e12
Dependency upgrades, updates copyright year
CodeDead Jan 25, 2023
2504df5
Merge pull request #62 from CodeDead/feature/upgrades
CodeDead Jan 25, 2023
a5f4697
Gradle upgrade, dependency upgrades
CodeDead Feb 14, 2023
f66c519
Merge pull request #63 from CodeDead/feature/upgrades
CodeDead Feb 14, 2023
6165f79
Dependency upgrades, Gradle upgrade
CodeDead Feb 27, 2023
d8403b5
Upgraded to JDK 20, added white noise, upgraded gradle, refactoring
CodeDead Apr 2, 2023
38fbe74
Merge pull request #64 from CodeDead/feature/upgrades
CodeDead Apr 2, 2023
08c65ed
Create gradle-build.yml
CodeDead Apr 2, 2023
9a4562d
Merge pull request #65 from CodeDead/CodeDead-patch-1
CodeDead Apr 2, 2023
684aa26
Added a build badge
CodeDead Apr 2, 2023
cb089b1
AppImage build test
CodeDead Apr 2, 2023
1785c81
Merge pull request #66 from CodeDead/feature/appimage_build_test
CodeDead Apr 2, 2023
82ad00c
Cleanup
CodeDead Apr 2, 2023
563e5e0
Lets try that again
CodeDead Apr 2, 2023
fda5e25
Proper variable
CodeDead Apr 2, 2023
88d37d3
Added more build steps
CodeDead Apr 2, 2023
e32d6d8
Change step order
CodeDead Apr 2, 2023
d9d8464
Merge pull request #67 from CodeDead/feature/cleanup_actions
CodeDead Apr 2, 2023
384f730
Fixed an issue with SSL handshakes, added jpackage build step
CodeDead Apr 2, 2023
40ed0b2
Merge pull request #68 from CodeDead/feature/auto_update_fix
CodeDead Apr 2, 2023
bcc778c
Reduced duplicate code, added a gh actions test step
CodeDead Apr 2, 2023
4a27731
Merge pull request #69 from CodeDead/feature/refactoring
CodeDead Apr 2, 2023
9e1d5a6
Reduced the memory footprint of the application by only loading the m…
CodeDead Apr 2, 2023
f076a33
Merge pull request #70 from CodeDead/feature/memory_improvements
CodeDead Apr 2, 2023
410e0cc
Improved appimage build
CodeDead Apr 2, 2023
6977cf3
Merge pull request #71 from CodeDead/feature/improved_appimage_build
CodeDead Apr 2, 2023
d92e99c
Added brown and pink noise and fixed an issue with the play / pause b…
CodeDead Apr 2, 2023
59ff434
Merge pull request #72 from CodeDead/feature/static_sounds
CodeDead Apr 2, 2023
5af6485
Version bump
CodeDead Apr 2, 2023
31d0001
Added new help docs, added gitignore directory and fixed an issue wit…
CodeDead Apr 2, 2023
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
29 changes: 29 additions & 0 deletions .AppImage/.AppDir/usr/share/metainfo/Opal.appdata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.codedead.opal</id>
<metadata_license>FSFAP</metadata_license>
<project_license>GPL-3.0-only</project_license>
<name>Opal</name>
<summary>Play relaxing music in the background</summary>

<description>
<p>
Opal is a free and open-source JavaFX application that can play relaxing music in the background.
</p>
<p>
Select the sounds (20+ relaxing tracks are available) that you want to hear, turn them on and listen to and
enjoy the music for as long as you want, without interruption.
</p>
</description>

<launchable type="desktop-id">Opal.desktop</launchable>

<screenshots>
<screenshot type="default">
<caption>The main window</caption>
<image>https://i.imgur.com/qMAV8yS.png</image>
</screenshot>
</screenshots>

<url type="homepage">https://codedead.com/software/opal</url>
</component>
2 changes: 1 addition & 1 deletion .AppImage/createAppImage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appim
chmod a+x appimagetool-x86_64.AppImage
BASEDIR=$(dirname "$0")
PARENT_DIR="$(dirname "$BASEDIR")"
VAR="./appimagetool-x86_64.AppImage ${PARENT_DIR}/build/AppImage/Opal.AppDir ${PARENT_DIR}/build/AppImage/Opal-x86_64-$1.AppImage"
VAR="./appimagetool-x86_64.AppImage -n ${PARENT_DIR}/build/AppImage/Opal.AppDir ${PARENT_DIR}/build/AppImage/Opal-x86_64-$1.AppImage"
eval $VAR
rm appimagetool-x86_64.AppImage
56 changes: 56 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Test

on:
pull_request:
branches:
- master
- development

permissions:
contents: read

jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3

- name: Install dependencies
if: ${{ matrix.os == 'ubuntu-latest' }}
run: sudo apt-get install -y fuse libfuse2

- name: Set up JDK 20
uses: actions/setup-java@v3
with:
java-version: '20'
distribution: 'temurin'

- name: Test
uses: gradle/gradle-build-action@v2
with:
arguments: test

- name: Build
uses: gradle/gradle-build-action@v2
with:
arguments: build

- name: Build (AppImage)
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: gradle/gradle-build-action@v2
with:
arguments: AppImage

- name: Build (jlink)
uses: gradle/gradle-build-action@v2
with:
arguments: jlink

- name: Build (jpackage)
uses: gradle/gradle-build-action@v2
with:
arguments: jpackage
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ logs/*

/default.properties
/help.pdf
.opal/
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Opal

![Opal](https://i.imgur.com/tNBWTPS.png)
![Opal](https://i.imgur.com/qMAV8yS.png)

![GitHub release (latest by date)](https://img.shields.io/github/v/release/CodeDead/opal)
![GitHub](https://img.shields.io/badge/language-Java-green)
![GitHub](https://img.shields.io/github/license/CodeDead/opal)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/CodeDead/opal)
[![Test build](https://github.com/CodeDead/opal/actions/workflows/test.yml/badge.svg)](https://github.com/CodeDead/opal/actions/workflows/test.yml)

Opal is a free and open-source JavaFX application that can play relaxing music in the background.
Opal is a free and open-source [JavaFX](https://openjfx.io/) application that can play relaxing music in the background.

## Building

Expand Down Expand Up @@ -59,13 +60,13 @@ especially if you're targeting a specific platform and installation method.

The following dependencies are universal:

* [JDK18](https://openjdk.java.net/projects/jdk/18/)
* [JDK20](https://openjdk.java.net/projects/jdk/20/)
* [JavaFX](https://openjfx.io)
* [Gradle](https://gradle.org)
* [FasterXML/jackson](https://github.com/FasterXML/jackson)
* [badass-jlink-plugin](https://github.com/beryx/badass-jlink-plugin)
* [Log4j2](https://logging.apache.org/log4j/2.x/)

* [AtlantaFX](https://github.com/mkpaz/atlantafx)
### Windows

#### MSI
Expand Down Expand Up @@ -98,4 +99,4 @@ This library is maintained by CodeDead. You can find more about us using the fol
* [Twitter](https://twitter.com/C0DEDEAD)
* [Facebook](https://facebook.com/deadlinecodedead)

Copyright © 2022 CodeDead
Copyright © 2023 CodeDead
47 changes: 28 additions & 19 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ plugins {
id 'idea'
id 'eclipse'
id 'application'
id "org.beryx.jlink" version "2.25.0"
id 'org.beryx.jlink' version '2.26.0'
}

group 'com.codedead'
version '1.0.3'
version '1.1.0'

def currentOS = DefaultNativePlatform.currentOperatingSystem

java {
targetCompatibility = JavaVersion.VERSION_18
sourceCompatibility = JavaVersion.VERSION_18
targetCompatibility = JavaVersion.VERSION_20
sourceCompatibility = JavaVersion.VERSION_20
}

application {
Expand All @@ -30,6 +30,15 @@ jlink {
name = 'Opal'
}

mergedModule {
additive = true
uses 'org.apache.logging.log4j.util.PropertySource'
uses 'org.apache.logging.log4j.core.util.ContextDataProvider'
uses 'org.apache.logging.log4j.core.util.WatchEventService'
uses 'org.apache.logging.log4j.spi.Provider'
uses 'org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory'
}

if (currentOS.isWindows()) {
jpackage {
installerType = 'msi'
Expand All @@ -39,7 +48,7 @@ jlink {
'--win-menu-group', 'CodeDead',
'--win-shortcut',
'--win-dir-chooser',
'--copyright', 'Copyright (c) 2022 CodeDead',
'--copyright', 'Copyright (c) 2023 CodeDead',
'--description', 'Opal is a free and open-source JavaFX application that can play relaxing music in the background',
'--vendor', 'CodeDead',
'--license-file', 'LICENSE'
Expand All @@ -53,7 +62,7 @@ jlink {
'--linux-shortcut',
'--linux-package-name', 'opal-codedead',
'--linux-rpm-license-type', 'GPLv3',
'--copyright', 'Copyright (c) 2022 CodeDead',
'--copyright', 'Copyright (c) 2023 CodeDead',
'--description', 'Opal is a free and open-source JavaFX application that can play relaxing music in the background',
'--vendor', 'CodeDead',
'--license-file', 'LICENSE'
Expand All @@ -62,7 +71,7 @@ jlink {
}
}

task AppImage() {
tasks.register('AppImage') {
dependsOn jpackageImage
doLast {
copy {
Expand All @@ -77,11 +86,9 @@ task AppImage() {
from '.AppImage/.AppDir/Opal.png'
into "${buildDir}/AppImage/Opal.AppDir/usr/lib"
}

exec {
commandLine 'sh', "${project.rootDir}/.AppImage/createAppImage.sh", "${project.version.toString()}"
}

delete "${buildDir}/AppImage/Opal.AppDir"
}
}
Expand All @@ -96,6 +103,7 @@ clean.doFirst {
delete 'license.pdf'
delete 'help.pdf'
delete 'logs'
delete '.opal'
}

repositories {
Expand All @@ -112,17 +120,18 @@ if (currentOS.isWindows()) {
}

dependencies {
implementation "org.openjfx:javafx-base:18.0.1:${platform}"
implementation "org.openjfx:javafx-controls:18.0.1:${platform}"
implementation "org.openjfx:javafx-graphics:18.0.1:${platform}"
implementation "org.openjfx:javafx-fxml:18.0.1:${platform}"
implementation "org.openjfx:javafx-media:18.0.1:${platform}"
implementation 'org.apache.logging.log4j:log4j-core:2.17.2'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.3'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
implementation "org.openjfx:javafx-base:20:${platform}"
implementation "org.openjfx:javafx-controls:20:${platform}"
implementation "org.openjfx:javafx-graphics:20:${platform}"
implementation "org.openjfx:javafx-fxml:20:${platform}"
implementation "org.openjfx:javafx-media:20:${platform}"
implementation 'org.apache.logging.log4j:log4j-core:2.20.0'
implementation 'io.github.mkpaz:atlantafx-base:1.2.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2'
}

test {
tasks.named('test') {
useJUnitPlatform()
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-8.1-20230330100852+0000-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
25 changes: 18 additions & 7 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Expand All @@ -80,13 +80,10 @@ do
esac
done

APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

APP_NAME="Gradle"
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down Expand Up @@ -143,12 +140,16 @@ fi
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
Expand Down Expand Up @@ -193,6 +194,10 @@ if "$cygwin" || "$msys" ; then
done
fi


# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
Expand All @@ -205,6 +210,12 @@ set -- \
org.gradle.wrapper.GradleWrapperMain \
"$@"

# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi

# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
Expand Down
15 changes: 9 additions & 6 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
@rem limitations under the License.
@rem

@if "%DEBUG%" == "" @echo off
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
Expand All @@ -25,7 +25,8 @@
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

Expand All @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
if %ERRORLEVEL% equ 0 goto execute

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Expand Down Expand Up @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
if %ERRORLEVEL% equ 0 goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%

:mainEnd
if "%OS%"=="Windows_NT" endlocal
Expand Down
Loading