Allow independent sorting of playlists in the
playlist catalog, using the context menu.
You may want to usually sort playlists by their date
(modified), but sort audio tracks alphabetically.
This is now possible without having to constantly
adjust a setting.
The fact that 'Sort Files' applied to both the file
browser and playlist catalog seems more like a side
effect of the implementation, rather than behavior
that is wanted. Additionally, the 'By Type' sorting
makes no sense when only a single type is displayed.
Since many of the other File View settings don't
apply to the playlist catalog, hide the menu there.
Change-Id: Ic35038015d0860998ae117f472ce23ce3bc80cfa
* Rename LANG_RESET_ASK to LANG_ARE_YOU_SURE,
so that it matches the actual language string
(translations remain valid), and can be repurposed
for generic confirmation prompts, where the
first line says "Are you sure?", and the second
line reiterates the selected action
* Add "Reset Settings" as second line to the prompt
shown before resetting settings, instead of just
asking "Are you sure?"
* Make Shuffle prompt consistent between WPS and
Playlist Viewer, and ask whether user is sure they
want to Shuffle instead of warning them that the
current playlist will be erased, which was a bit
misleading
* Explicitly say "Cancelled" when user answers NO to
erasing the current playlist or to overwriting a file.
Improves consistency with other prompts that are
displayed for potentially destructive actions, e.g.
before items are deleted, renamed, saved, or reset.
* PictureFlow: Prompt before rebuilding/updating cache
Change-Id: Id8ae36db7187315eb1a374701307e6ab4dcdbd1d
Lets you launch the main_menu_config plugin
from Settings, so that it remains accessible,
even after all other menu items have been
hidden.
Includes minor changes to the main menu config
plugin, so that it better fits in with the rest
of the settings menus:
* Keep theme enabled
* Autosave
* Add "On" or "Off" suffix to each item, to prevent
confusion when Icon_Config is blank, as is the case
with certain iconsets
* Update current selection after swapping items
* Prefix spoken selection with row number for enhanced
clarity when swapping items
* Change title to LANG_MAIN_MENU
* ACTION_STD_OK to toggle an item's visibility
* ACTION_STD_CONTEXT to access options for reordering
menu items, or for reverting to the default menu
* Ask for confirmation before reverting
Change-Id: I74240b94243224c76e23ef8f3a0559bd8ba28df0
Previous fixes to genlang resulted in language files no longer being
backwards compatibile with 4.0 binaries. So let's take advantage of
this break and get rid of all no-longer-used strings
Change-Id: I6a7a90dd7a20322f59fe0f3b40bc9a55b5954c8d
For example, LANG_TIME_SET_BUTTON has these:
*: none
aigoerosq,erosqnative,gogearsa9200,samsungyh*: "PLAY = Set"
gigabeat*,iaudiom5,iaudiox5,ipod*,iriverh10,iriverh10_5gb,mrobe100,sansac200*,sansaclip*,sansaconnect,sansae200*,sansafuze*: "SELECT = Set"
iriverh100,iriverh120,iriverh300: "NAVI = Set"
mpiohd300: "ENTER = Set"
mrobe500: "HEART = Set"
rtc: "ON = Set"
vibe500: "OK = Set"
But all of these players will match their name _and_ the generic 'rtc'
feature that enables use of this phrase. The language tooling
always used the final match in the list, so this resulted in
most devices showing the generic (and incorrect) 'ON = Set" instead
of the device-specific strings.
This patch changes the behavior so that only a match with the device
model itself can override the previously used string.
Change-Id: I93ee11b1e4925c39edaecdcbc13ccc51ed176a45
The tooling will always use the *final* match, which may or may not be
what is desired. Treat this as a bug, and complain appropriately.
However, there is a special case. The RTC set screen uses strings that
include the device button names. There should be an entry for the
specific device, but if not, we wanted to fall back to the string
specified by the 'rtc' feature flag as opposed to falling back to the
default, empty string.
To still support this, add a special "FALLBACK" value; If we end up
using this for a device, the tooling will treat this as a bug, and
complain accordingly.
This should fix FS#13615 and FS13616, and may introduce build failures
on targets that are missing appropriate entries. We'll see.
Change-Id: Ie78bb247f968e19d450a0fbf6e1177b6d01126a1
Languages:
* Get rid of leading space on LANG_ID3_VBR [ " (VBR)" ]
* Fix up sole user to insert the space programmically
updatelang:
* strip leading and trailing spaces on all phrases except VOICE_PAUSE
voice.pl
* Debug logging with UTF-8 output
* Explicitly delete tab character from voiced strings
Change-Id: Ie466793479ce15ce7a9553770583a070530e7afd
All translations with at least 80% coverage are upated.
Most of these also got a few mechanical corrections as well.
Change-Id: Id4cf5e6c066cb7cd0a73bcd5ad68135c9aeb3294
You were asked to restart the plugin, before
PictureFlow would rebuild the cache after
selecting the menu option for it. This patch
eliminates the need for leaving the plugin, and
PictureFlow will rebuild its cache immediately.
Change-Id: I47ec78339fdc91efd42cd7850829256417682eae
When the Playlist Catalogue first appeared in the main menu
in 2011 (FS#11808), the 'Playlists' menu item was renamed
to 'Playlist Catalogue' which seems more verbose than is
necessary these days.
Since we don't have a 'Playlist Catalogue' menu item in the
onplay menu anymore, either, LANG_CATALOG can be eliminated.
Change-Id: I7f38b0847e9b982506371f4a4b473d1fb2551ad0
We've been limited to level 7 since approximately forever, so
there's no point in wasting translation strings on anything higher.
Change-Id: Idee0f1f0aa1b99d9efdcaa34d0d3130a54e1628e
Wrong title is due to the VIRT_PTR being 0 so when a NULL
string is passed through P2STR() you get langid(0)
that was 'Yes' now it will be 'Rockbox'
the crashing menu was due to a call to retrieve entries that wasn't guarded
against getting called on a menu with no entries
g#5911 introduced this path to call custom_action for shuffled track adding
Change-Id: I3918debbe2e79dfc9595df56b05b1ae59ba94317
- The "Special character" entry will show all special characters (non numerical + non letters)
- The numerical entry was bug, and could show some special characters from the ASCII table. It is now fixed.
Change-Id: I001fb322fab81918996e15e4d0ca6b7c9e5160af
Add a new entry, it is useful to go this way for large libraries rather than scrolling manually through the whole list
Change-Id: Ia54b613b4a5fa40863ebb176a549287d3a765a56
* All tagnavi.config entries pulled into language files
* Database viewer looks up LANG_IDs from the entries
* If we find a match, we can translate and voice these entries
* Add (disabled) mechanism to allow voicing database metadata
Original patch by Paul Sauro
Modifications by William Wingus
Further modifications by Solomon Peachy
Todo/Problems:
* Current Tagnavi headers are rather awkward in English
* Can't voice the "By first letter" alphabetic entries
* No mechanism for generating talk clips for DB metadata
Change-Id: Ic276ccda1bd8aae550d38be852bae4c6f697cd47
Adds 'Add Current to Shortcuts' for settings alowing you to save
the current value and restore it with a shortcut
Change-Id: I0d5c5da9553248a70fd46d5553486ebf7865a20a
Instead of responding with a "Nothing to resume"
message when user tries to resume a playlist that's
finished playing, offer to start from the beginning
again.
Change-Id: Icc4894d4e2d2e29beb1c7646462f9af69e5733aa
people don't like having to remember to run the TSR plugin so
lets meet them halfway
all tracks are added with timestamp, elapsed, length, trackname
added buffering for ATA devices
still needed:
-Done -- a plugin that parses for duplicates and reads the track info
to create the actual scrobbler log
(log can be truncated once dumped)
this should allow you to run the plugin at leisure
later I'd like to expand this logging to allow
track culling based on skipped songs..
remove the TSR plugin as hard disk no longer need to use it
Change-Id: Ib0b74b4c868fecb3e4941a8f4b9de7bd8728fe3e
Turns out they did not swap the stereo switch lines on us,
so this setting isn't really useful. Repurpose it to allow
the user to force the device into headphone or line output mode.
Note that settings other than "Automatic" will cause jack detection
to not work.
Default Automatic.
Change-Id: If94499fbb8f0d92111811fe51f6107ce213b66ad
Add ability to imageviewer to view current track embedded/folder album art
Add "View Album Art" WPS context menu item
Change-Id: I49caebd38e5e3e2910d418bbeaa5e51da0e6bd93
<..> gets interpreted as a drive/volume ID, which has special voicing rules.
(this is especially visible in the DB browser)
Change-Id: I7c2598004a4e58451267d77f786eb52f7c09bd3f
Offer new options to show elegantly your entries in any playlist/dynamic playlist viewer. This is especially important if you dual boot an iPod with Stock OS and want to sync with iTunes; with this very popular setup, file names are obfuscated which results in any Rockbox playlist viewer difficult to enjoy, and it was a long standing issue reported by several Rockbox users over the years. The only way to show the title was to open a contextual menu on each song to get infos about the selected song, which is a very long and anti-ergonomic process to understand what is on your current playlist/randomized playlist. The idea of this patch is to provide new alternatives that the user can select. I personally selected the Title & Album view which provides excellent readability.
This patch was built with performance in mind using lazy loading to load one by one the tags then cache a string and use the little cache as much as possible to make scrolling in the same area as smooth as possible. Performance remains very acceptable even on an iPod 4G with its original hard drive. Using a real compact flash with my iPod Mini 2G reduces the latency even more.
Those new options are disabled by default because they impact noticeably the scrolling performance and are less relevant if your files are decently properly named.
Unfortunately, the search feature in a playlist will need to continue to use the raw filename because reading the tags for a whole playlist is a performance disaster. This works decently while viewing just because I made a code that load those one by one as much as possible.
I focused also on testing that the opening of the playlist viewer UI remained fast, and loading one by one with lazy loading allows to get very little overhead in this regard.
Change-Id: I00d9c802e29f8372447813b035bbae207a016467
This improvement brings a huge performance improvement to start a random mix of your library. Previously, the only way to do this was to increase the size of a playlist with absurd sizes number. Now it will respect the limitation but will insert random songs from the current view.
Database: Add true random songs in playlist if it is gonna exceed its maximum capacity
More context is available here : https://www.reddit.com/r/rockbox/comments/1ez0mq4/i_developped_true_full_library_shuffle_for/
Also :
- Improved layout in the DB browser
- New default max playlists capacity is now 2000 on old PortalPlayer targets to give a better user experience and not having to wait dozens of seconds while creating a playlist
- "Show insert shuffled" option is now true by default
- Add a new shortcut to play all songs shuffled in the DB browser
- Now the feature is fully optional and enabled only on targets that have more than 2MB of RAM
- Add entries about this feature in the manual to explain it to the users
Change-Id: I1aebaf7ebcff2bf907080f1861027d530619097c
Change-Id: I3354923b148eeef1975171990e814a1a505d1df0
This option is especially useful for theme creators that want to create themes with lockscreens. When text is scrolling, it is breaking the lockscreen so setting this option to true prevent this. Text will continue to scroll normally in all other contexts.
Change-Id: I194f6837217881d50f567a775b81d0b422caf35c
1) Remaining:
Sometimes, you may only be interested in how
much time is left in a playlist, but don't care
about the progress already made.
The new option will disregard already played tracks,
which can be much faster, depending on your position
in the playlist.
2) Single Mode:
When 'Single Mode' is enabled (and set to something
other than 'Track'), you now have the option to see
the time elapsed and remaining specifically for
that section of the playlist (e.g. the playing album).
Change-Id: I786eaababc537f565ab3fa4de1c46b7d5f3d1101
allows viewers to pop a file browser to let the user pick a relevant file
which then gets run by the viewer
(only lua so far)
Change-Id: I7e6b4c2827fab5e9f596d336f546100636c4b871
Also corrected the 100% languages:
English, English-US, Chinese-Simplified, German, and Italian
(There is one Italian string I didn't know how to fix)
Change-Id: I958c6737810ad0199333d17fc092eab3120cef40
Improves readability on small screens.
See WPS -> Context Menu -> Current Playlist -> Playing time
Also, Russian translation is adjusted accordingly.
Change-Id: I23662ccb324f07a742179ff274453416bb8eff08
* Voice generation script will create standalone .talk clips
* These talk clips will be included in the rockbox .zip file
* All .voice files will be included in the rockbox .zip file
* Added LANGUAGE_NAME for all languages in the nightly builds
This way, any voice pack installed will give you a the langauge
voiced in the browser, and if the voice file fails to load you
will get a natively translated error message.
Change-Id: I6b627a51746cd088d6e200666dd326ea2745f55f
This adds a "Legal Notices" entry under the System menu that will
launch the text viewer plugin to display:
1) COPYING.txt (containing the GPLv2 overall license for Rockbox)
2) LICENSES.txt (containing all other relevant licenses and notices)
Change-Id: Id41ae491b6f9a6ec5663090246d0f6b661cddea5
In verbose mode it will log valid the strings found, otherwise it will
only complain when we encounter a missing string.
Unfortunately a missing string is not inherently a problem, due to
conditional expressions. So all we can do is complain in checkwps
or if wps debugging is turned on.
Meanwhile, this is the first step in actually enumerating the translated
strings used by themes.
Change-Id: Ia93b333085e825d5b085c4d372ad8e13aa3e3ba1
The documentation says to not delete things but that dates back to when
we were a lot laxer in what we would accept at runtime.
I want to make things even stricter, and add a checksum or hash of
the string IDs, so that *any* change to the base language invalidates
translation and voice binaries at runtime.
Change-Id: I94a71781f839bec804dc04dd99660e5e866577bf