aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/values/arrays.xml10
-rw-r--r--res/values/strings.xml4
-rw-r--r--res/xml/settings.xml7
-rw-r--r--src/github/daneren2005/dsub/activity/SettingsActivity.java5
-rw-r--r--src/github/daneren2005/dsub/service/DownloadService.java4
-rw-r--r--src/github/daneren2005/dsub/util/Constants.java1
6 files changed, 30 insertions, 1 deletions
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index deb8fdf5..3e85c982 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -225,4 +225,14 @@
<item>@string/settings.sync_interval_1440</item>
</string-array>
+ <string-array name="replayGainTypeValues">
+ <item>1</item>
+ <item>2</item>
+ <item>3</item>
+ </string-array>
+ <string-array name="replayGainTypeNames">
+ <item>@string/settings.replay_gain_type.smart</item>
+ <item>@string/settings.replay_gain_type.album</item>
+ <item>@string/settings.replay_gain_type.track</item>
+ </string-array>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bdc0c126..0fdb2361 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -431,6 +431,10 @@
<string name="settings.admin_enabled_summary">Whether or not to display the admin listing in the pull out drawer</string>
<string name="settings.replay_gain">Replay Gain</string>
<string name="settings.replay_gain_summary">Whether or not to scale playback volume by track and album replay gain tags</string>
+ <string name="settings.replay_gain_type">Read from tags</string>
+ <string name="settings.replay_gain_type.smart">Smart detection</string>
+ <string name="settings.replay_gain_type.album">Album tags</string>
+ <string name="settings.replay_gain_type.track">Track tags</string>
<string name="settings.replay_gain_bump">Replay Gain Pre-amp</string>
<string name="settings.replay_gain_untagged">Songs without Replay Gain</string>
diff --git a/res/xml/settings.xml b/res/xml/settings.xml
index 394c268f..af782ac1 100644
--- a/res/xml/settings.xml
+++ b/res/xml/settings.xml
@@ -369,6 +369,13 @@
android:key="replayGain"
android:defaultValue="false"/>
+ <ListPreference
+ android:title="@string/settings.replay_gain_type"
+ android:key="replayGainType"
+ android:defaultValue="1"
+ android:entryValues="@array/replayGainTypeValues"
+ android:entries="@array/replayGainTypeNames"/>
+
<github.daneren2005.dsub.view.SeekBarPreference
android:key="replayGainBump2"
android:dialogLayout="@layout/seekbar_preference"
diff --git a/src/github/daneren2005/dsub/activity/SettingsActivity.java b/src/github/daneren2005/dsub/activity/SettingsActivity.java
index 8335463b..0dd68fcb 100644
--- a/src/github/daneren2005/dsub/activity/SettingsActivity.java
+++ b/src/github/daneren2005/dsub/activity/SettingsActivity.java
@@ -89,6 +89,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
private CheckBoxPreference syncStarred;
private CheckBoxPreference syncMostRecent;
private CheckBoxPreference replayGain;
+ private ListPreference replayGainType;
private Preference replayGainBump;
private Preference replayGainUntagged;
private String internalSSID;
@@ -131,6 +132,7 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
syncStarred = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_SYNC_STARRED);
syncMostRecent = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_SYNC_MOST_RECENT);
replayGain = (CheckBoxPreference) findPreference(Constants.PREFERENCES_KEY_REPLAY_GAIN);
+ replayGainType = (ListPreference) findPreference(Constants.PREFERENCES_KEY_REPLAY_GAIN_TYPE);
replayGainBump = (Preference) findPreference(Constants.PREFERENCES_KEY_REPLAY_GAIN_BUMP);
replayGainUntagged = (Preference) findPreference(Constants.PREFERENCES_KEY_REPLAY_GAIN_UNTAGGED);
@@ -335,12 +337,15 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
}
}
if(replayGain.isChecked()) {
+ replayGainType.setEnabled(true);
replayGainBump.setEnabled(true);
replayGainUntagged.setEnabled(true);
} else {
+ replayGainType.setEnabled(false);
replayGainBump.setEnabled(false);
replayGainUntagged.setEnabled(false);
}
+ replayGainType.setSummary(replayGainType.getEntry());
for (ServerSettings ss : serverSettings.values()) {
ss.update();
diff --git a/src/github/daneren2005/dsub/service/DownloadService.java b/src/github/daneren2005/dsub/service/DownloadService.java
index a03f056c..071159b2 100644
--- a/src/github/daneren2005/dsub/service/DownloadService.java
+++ b/src/github/daneren2005/dsub/service/DownloadService.java
@@ -1956,7 +1956,7 @@ public class DownloadService extends Service {
if (prefs.getBoolean(Constants.PREFERENCES_KEY_REPLAY_GAIN, false)) {
boolean singleAlbum = false;
- String replayGainType = prefs.getString(Constants.PREFERENCE_KEY_REPLAY_GAIN_TYPE, "1");
+ String replayGainType = prefs.getString(Constants.PREFERENCES_KEY_REPLAY_GAIN_TYPE, "1");
// 1 => Smart replay gain
if("1".equals(replayGainType)) {
// Check if part of at least <REQUIRED_ALBUM_MATCHES> consequetive songs of the same album
@@ -1987,6 +1987,8 @@ public class DownloadService extends Service {
if(matched >= REQUIRED_ALBUM_MATCHES) {
singleAlbum = true;
}
+
+ Log.d(TAG, "Single album: " + singleAlbum);
}
}
// 2 => Use album tags
diff --git a/src/github/daneren2005/dsub/util/Constants.java b/src/github/daneren2005/dsub/util/Constants.java
index 815c4bb9..50651a80 100644
--- a/src/github/daneren2005/dsub/util/Constants.java
+++ b/src/github/daneren2005/dsub/util/Constants.java
@@ -149,6 +149,7 @@ public final class Constants {
public static final String PREFERENCES_KEY_REPLAY_GAIN = "replayGain";
public static final String PREFERENCES_KEY_REPLAY_GAIN_BUMP = "replayGainBump2";
public static final String PREFERENCES_KEY_REPLAY_GAIN_UNTAGGED = "replayGainUntagged2";
+ public static final String PREFERENCES_KEY_REPLAY_GAIN_TYPE= "replayGainType";
public static final String OFFLINE_SCROBBLE_COUNT = "scrobbleCount";
public static final String OFFLINE_SCROBBLE_ID = "scrobbleID";