EASYH10(1)
π EASYH10 π
okay so bestie, welcome to easyh10 β it's a User Command, it lives in section 1 of the manual, and it is literally the tool that manages your iRiver H10 MP3 player. no cap. let's get into it π
β¨ NAME β¨
EasyH10 β manage the iRiver H10 MP3 player π«Ά
πΈ SYNOPSIS πΈ
easyh10 [ options ] [ location ]
π¦ DESCRIPTION π¦
so EasyH10 is a command-line utility that generates a media database and a playlist for an iRiver H10 digital audio player. iconic behavior, honestly.
here's the vibe check tho: you have to do the prep work first, bestie. transferring your MP3/WMA/WAV files into the music directories, and creating M3U/M3U8/PLS playlist files under the music directories or the playlist directory β all of that must be done manually in advance. EasyH10 is not your personal assistant for that part, sorry π
.
then EasyH10 swoops in and constructs a media database from the music files, and converts the playlist files into PLP/PLA playlist files β which are the ones the H10 player actually recognizes. slay.
Database construction generates a set of database files in the database directory, and it gets the media information (e.g., title name, artist name, album name, genre name, track number, etc.) from all MP3/WMA/WAV files found in the music directories. it's giving thorough.
among the database-related options, the update mode (that's the -U option) reads an existing media database, compares it with the current content of the music directories, inserts entries for music files that have been added or updated since the previous processing, and erases entries for music files that have been removed. so it's like a lil glow-up for your db β¨
EasyH10 can also force music tracks to be played in an order that a user specified with the -o option. main character energy: you pick the order. and the way it obtains the information of a music file is configurable too β see the -z option. iykyk.
Playlist conversion targets all M3U/M3U8/PLS playlist files located in the playlist directory (that's with the -P option) and/or the music directories (that's with the -M option).
for each target, it finds the music files referred by the playlist and writes out an iRiver-specific playlist file into the playlist directory, with the same file name. the converted playlist files will have a .plp extension for UMS players or .pla for MTP players. so you always know what you're looking at π
the behavior when EasyH10 could not find a music file referred by a playlist can be specified with options -g, -f, and -k. three whole options for one lil problem, she's thorough.
π¨ bestie listen: do not put two or more playlist files sharing the same file name, okay? just don't. otherwise your converted playlist files will collide and it's gonna be a whole mess. avoid. periodt.
location specifies the path to the root directory where an H10 player is mounted as an external HDD.
three important directories β the database directory, the music directory, and the playlist directory β are determined automatically as relative paths from the root directory. as for these directories, go read the descriptions for options -d, -m, and -r, which configure the default values. they've got you π«Ά
a model template must be specified for EasyH10 to identify the model of the iRiver H10 player to be managed. like, mandatory mandatory.
EasyH10 assumes a default template (easyh10.model) to be placed in the current directory, the root directory of the player, the easyh10/model directory from the player root directory, etc. and as for the complete list of directories for the default template, refer to the description of option -t, which specifies a model template manually. go look, it's all there π
to be continued, bestieβ¦ more sections incoming π
β¨ OPTIONS β¨
Okay bestie, this is the big one β every single flag, no skips, we're going the whole way π
ποΈ Database construction options:
-C,--constructβ Throw out whatever database you've got and build a brand new one from the music files chillin' under the music directory. EasyH10 goes and enumerates all the MP3/WMA/WAV files in the music directories, pulls the media information (think title name, artist name, album name, genre name, track number, bitrate, sample rate, etc. β the whole lil info haul) out of the files it found, and generates a fresh set of database files in the database directory. Full glow-up, no leftovers π-U,--updateβ Update a media database from music files under the music directory. EasyH10 only grabs media info from the files that got updated or added since the last time the database was constructed. Lowkey the efficient queen π-o,--order=TYPEβ Pick the playback and displaying order in the MUSIC mode. Heads up though: choosing an order except for default inserts a space just before the track titles. That space is a special character that controls the playback order, and you might not even notice it because the player uses a proportional font by default. Sneaky little gremlin of a space πd,defaultβ Leave it to the player to arrange tracks in a default order determined by the firmware. EasyH10 will not make any attempt to change the playback order. It'll be the same as whatiriver plusand Windows Media Player 10 create. And if your H10 player is running on UMS 2.04 firmware, the playback order will be a numerical order of track numbers. No notes, it just vibes π«t,tracktitleβ Force an alphabetical order of track titles. Genuinely useful if you slapped the track number at the head of each track name (like"01 song name"). Sorting queen behavior πf,filenameβ Force an alphabetical order of file names. This one's for you if you put the track number at the head of each file name (like"01_songname.mp3"). Obsessed πn,tracknumberβ Force a numerical order of track numbers. The track number has to be associated with each music file for this to work, bestie. This is the most recommended option if you want to listen to your music as if you were listening to a CD. It arranges tracks in numerical order of track numbers even when you enter all-tracks-by-an-artist navigation. The way it just works ππc,completeβ Force a random order (shuffle) in any and all cases. Your iRiver H10 player will literally turn into a shuffle-only player. Main character chaos energy π₯a,albumβ Force a random order when playing music tracks in an album, and numerical order of track numbers when entering all-tracks-by-an-artist or all-tracks-with-a-genre navigation.l,allβ Force a random order when playing all titles, and numerical order of track numbers when playing music tracks in an album.
-z,--source=METHODβ Specify a method for obtaining media information. This option got introduced for the girlies who wanna make use of their directory layout instead of tag information. EasyH10 ships nine templates for specifying the source that the music info gets obtained from. Nine! Pick your fighter π¦mβ Tag information in music files (DEFAULT). This is the recommended option if the tag is written into the music files properly. The safe, sensible, iconic choice π[g]pβ Parse path names to obtain (genres and) artists. This template assumes that the directories in the music directory represent artist names. The other fields (i.e., album name, genre name, track title, and track number) get extracted from the tag.[g]paβ Parse path names to obtain (genres,) artists, albums. This template assumes directories in the music directory represent artist names, and directory names from the artist directories represent album names. A path letter'/'in the album directories gets replaced with a space. Other fields come from the tag. She's thorough πΈ[g]pa[n]tβ Parse path names to obtain (genres,) artists, and albums; parse file names to obtain (numbers and) titles. This template assumes the file names represent track titles, on top of what the[g]patemplate does. Specifyingnassumes that two letters at the head of file names represent track numbers. It skips space and'_'letters followed by the two digits to extract the track titles. So precise, so iconic β
π§ Playlist conversion options:
-P,--playlistβ Convert playlist files in the playlist directory. Setting this option converts M3U/M3U8/PLS files located in the playlist directory and writes respective PLA/PLP playlist files. Fresh playlist files, just for you π-M,--musicβ Convert playlist files in the music directories. Setting this option converts M3U/M3U8/PLS files located under the music directories (including sub-directories!) and writes the respective PLA/PLP files to the playlist directory.-r,--reconvertβ Overwrite the existing PLP/PLA playlist files to force the conversion. No fear, just overwrite π₯-g,--guess-missingβ Guess path names of missing music files in a playlist. Setting this option makes EasyH10 try to correct the location of the music files a playlist refers to, by trying possible combinations of the path to the music folder and the path to the music file that the playlist refers to. Detective mode activated π΅οΈβοΈ-f,--find-missingβ Find path names of missing music files in a playlist. Setting this option tries to correct the location of a music file a playlist refers to by searching for that music file in the music directories that have the same file name. And if it finds two or more music files with the target file name, EasyH10 selects the one whose path name is the most similar to the original. Clever girl π§-k,--skip-missingβ Skip missing music files in a playlist. Setting this option tells EasyH10 to continue the playlist conversion using only the music files that are actually found in the H10 player. Just so you know, the default behavior for a missing music file is to cancel the conversion for the playlist. So this one is the forgiving route π«Ά-x,--regex-playlistβ Enable Regular Expression Playlist (REP). A Regular Expression Playlist (REP) is a kind of smart playlist based on path/file names. EasyH10 generates a playlist with music files that are supported by the H10 player and match the condition(s) described in the*.repfile. If a music collection has the folder structure with (genre,) artist, and album names, EasyH10 can automatically create a playlist with all tracks in the player, by a specific artist, or by a more complicated condition. Big brain playlist energy π§ β¨-l,--auto-shuffleβ Shuffle music files in[(name).sfl*.(ext)]playlists. If a playlist filename contains the".sfl"substring just before an extension (likehoge.sfl.m3u,fuga.sfl.pls,all.sfl.rep), EasyH10 automatically randomizes the order of the music tracks that playlist refers to. In other words, EasyH10 users can create a random playlist just by naming it with the"(name).sfl.(extension)"pattern. Name it and it slays π
π» Tuner preset options:
-I,--import-tuner=FNβ Import a tuner preset from a file. Heads up bestie: EasyH10 will discard the existing preset in the player if you don't pass the-a(--merge-tuner) option. So merge or lose it, your call π-E,--export-tuner=FNβ Export the current tuner preset to a file. Same deal, different direction: EasyH10 will discard the existing preset in the local file if you don't pass the-a(--merge-tuner) option.-a,--merge-tunerβ Merge the current tuner preset with a file. The peacekeeper of the tuner world ποΈ
π H10 Player model options:
-t,--model=MODELβ Specify a model template. EasyH10 uses this file to identify an iRiver H10 model. By default, model template files get copied into${PREFIX}/share/easyh10/modelby the installer. You may specify one of these template files. And if no model template is specified, EasyH10 finds a default template (easyh10.model) in the following directory/order: the current directory;${H10ROOT}/easyh10/model;${H10ROOT}/model; and${H10ROOT}. So feel free to copy a template file to any of these locations and EasyH10 will read it automatically. Convenient much? π--gen-model=MODEL,FW_MIN_VERSION,FW_MAX_VERSIONβ Create a model template from an existing database. > β οΈ This option is only for EasyH10 developers. Do not use this option. Not for us, bestie, hands off π-X,--install-modelβ Install the model template specified by the-toption into the player. This makes a copy of the template file as${H10ROOT}/easyh10.model. Move-in day π β¨
π H10 location options:
-s,--systempath=SYSTEMβ Specify the path to the system files. This option overwrites the default value${H10ROOT}/System.-d,--dbpath=DATABASEβ Specify the path to the database. This option overwrites the default value${H10ROOT}/System/DATA.-m,--musicpath=MUSICβ Specify the path to the music files. This option overwrites the default value${H10ROOT}/Media/Musicfor UMS players, or${H10ROOT}/Musicfor MTP players.-p,--playlistpath=PLAYLISTβ Specify the path to the playlist files. This option overwrites the default value${H10ROOT}/Media/Playlistfor UMS players, or${H10ROOT}/Playlistsfor MTP players.
π Language-specific options:
-e,--encoding=SEβ Specify a character encoding used by the operating system. EasyH10 converts path/file names from the specified encoding into UCS-2 usingiconv. The default value is determined by an automatic detection of the system character-encoding. She just knows πΈ-w,--tagencoding=TEβ Specify a character encoding for parsing non-unicode tags. EasyH10 converts non-unicode tags embedded in ID3v1, ID3v2, and Riff WAVE intoUCS-usingiconv. The default value isISO-8859-1.-b,--bidiβ Store the field values in the database so the player can display Hebrew strings correctly (experimental). Ooh, experimental, we love a risk-taker π§ͺπ
π Miscellaneous options:
-D,--dumpβ Output a database dump in plain text format. Peek behind the curtain π-V,--versionβ Show the version number and exit.-h,--helpβ Show this help message and exit.-v,--verboseβ Verbose mode. She talks a lot. Periodt π
π‘ NOTE π‘
Okay bestie, listen up, this is the glow-up tip of the century: you should copy a firmware model template to the root of the device so you don't have to keep typing out the firmware every single time you run the tool. Like, imagine doing that every time?? exhausting. not the vibe. π
The example below is for the International version of the 5 GB player β¨
cp /usr/share/easyh10/model/H10Intl_5GB_FW2.04-2.05.model /mnt/usbdisk/easyh10.model
And depending on how you installed this thing (every install is a little different, iykyk), the .model files might be chillin' in:
/usr/share/easyh10//usr/local/share/easyh10/- or
/usr/local/share/easyh10/model/
So peek in all three if it's giving "file not found" energy. π¦
π EXAMPLE π
Okay so here's what it actually looks like in the wild, bestie. Real commands, real slay: π
easyh10 -C -on /mnt/usbdisk
This one rebuilds a media database with track-number ordering for the H10 player mounted on /mnt/usbdisk. Clean. Simple. Iconic. β¨
easyh10 -U -ol -PMrf /mnt/usbdisk
And this one updates a media database with all-shuffle ordering π. It also reconverts playlist files in /mnt/usbdisk/Media/Music and /mnt/usbdisk/Media/Playlist/* into their respective PLP playlist files. She's doing a LOT and she's doing it flawlessly, periodt. π
π AUTHORS π
Shoutout to the legends who made this happen π«Ά (they ate, no crumbs):
Program author:
- Nyaochi (nyaochi at users dot sourceforge dot net) π
Manpage author:
- Benjamin Seidenberg (astronut at dlgeek dot net) π¦
- Nyaochi (nyaochi at users dot sourceforge dot net) π
Tag yourselves, you two deserve it. πΈ
π SEE ALSO π
Wanna go deeper?? Of course you do, you're a main character. ππ
Visit EasyH10's web page at http://easyh10.sourceforge.net for more information. Go get that lore, bestie. πβ
And that's the whole page, babes β this manual is EasyH10 [CUI] 1.2, stamped October 2005, and yes she's vintage but she is still serving. Go forth, mount your player, and slay your media database. Love u, bye πππ¦
π¦ where this page comes from
- debian bookworm: easyh10 1.5-5 Β· GPL-2.0-or-later
- debian trixie: easyh10 1.5-7 Β· GPL-2.0-or-later
- ubuntu jammy: easyh10 1.5-5 Β· GPL-2.0-or-later
- ubuntu noble: easyh10 1.5-5 Β· GPL-2.0-or-later
- ubuntu questing: easyh10 1.5-7
- ubuntu resolute: easyh10 1.5-7build1 Β· GPL-2.0-or-later
- ubuntu stonking: easyh10 1.5-7build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms