diff --git a/app/src/main/java/com/dkanada/gramophone/service/MusicService.java b/app/src/main/java/com/dkanada/gramophone/service/MusicService.java
index 3a0f7c80..5e63ac63 100644
--- a/app/src/main/java/com/dkanada/gramophone/service/MusicService.java
+++ b/app/src/main/java/com/dkanada/gramophone/service/MusicService.java
@@ -238,6 +238,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
playback = new LocalPlayer(this);
playback.setListener(playbackCallbacks);
+ playback.setVolume(PreferenceUtil.getInstance(this).getGainOffset());
queueManager = new QueueManager(this, queueCallbacks);
@@ -674,6 +675,9 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
initNotification();
updateNotification();
break;
+ case PreferenceUtil.GAIN_OFFSET:
+ playback.setVolume(PreferenceUtil.getInstance(this).getGainOffset());
+ break;
}
}
diff --git a/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java
index 9cc69f73..59c2187a 100644
--- a/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java
+++ b/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java
@@ -81,6 +81,7 @@ public final class PreferenceUtil {
public static final String MAXIMUM_BITRATE = "maximum_bitrate";
public static final String REMEMBER_SHUFFLE = "remember_shuffle";
public static final String REMEMBER_QUEUE = "remember_queue";
+ public static final String GAIN_OFFSET = "gain_offset";
public static final String LOCATION_DOWNLOAD = "location_download";
public static final String LOCATION_CACHE = "location_cache";
@@ -254,6 +255,10 @@ public final class PreferenceUtil {
return mPreferences.getBoolean(REMEMBER_QUEUE, true);
}
+ public final int getGainOffset() {
+ return mPreferences.getInt(GAIN_OFFSET, 100);
+ }
+
public final boolean getShowAlbumCover() {
return mPreferences.getBoolean(SHOW_ALBUM_COVER, false);
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ed0d4680..20aa00a9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -128,6 +128,7 @@
Download Location
Images
Media
+ Gain Adjustment
The primary theme color for control elements.
An alternate color used to accent elements.
@@ -141,6 +142,7 @@
Go to the last opened tab on launch.
Configure visibility and order of display categories.
Disable direct play codecs to force transcoding.
+ Adjust the gain of the music player\'s output
Delete
Remove
diff --git a/app/src/main/res/xml/pref_playback.xml b/app/src/main/res/xml/pref_playback.xml
index 79defa10..bbd11e69 100644
--- a/app/src/main/res/xml/pref_playback.xml
+++ b/app/src/main/res/xml/pref_playback.xml
@@ -45,6 +45,13 @@
android:summary="@string/pref_summary_remember_queue"
android:title="@string/pref_title_remember_queue" />
+
+