diff options
author | Scott Jackson <daneren2005@gmail.com> | 2014-10-07 19:21:08 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2014-10-07 19:21:08 -0700 |
commit | 50292a33938016f410effcb8f0aca1c6263e8410 (patch) | |
tree | fbd3d8878b124aba62e0048626942b539801fb7f | |
parent | 76a45b603fac943732d1eb8e219bd10e03f2fb69 (diff) | |
download | dsub-50292a33938016f410effcb8f0aca1c6263e8410.tar.gz dsub-50292a33938016f410effcb8f0aca1c6263e8410.tar.bz2 dsub-50292a33938016f410effcb8f0aca1c6263e8410.zip |
Add setting for where to read replay gain tags from
-rw-r--r-- | res/values/arrays.xml | 10 | ||||
-rw-r--r-- | res/values/strings.xml | 4 | ||||
-rw-r--r-- | res/xml/settings.xml | 7 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/activity/SettingsActivity.java | 5 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/service/DownloadService.java | 4 | ||||
-rw-r--r-- | src/github/daneren2005/dsub/util/Constants.java | 1 |
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"; |