|
Well at least you know my pain. I've since added a progress tracker "loading 1 of 13" for example. It helps.
To err is human. Fortune favors the monsters.
|
|
|
|
|
I was thinking, and I bet I know why your 32GB card took so long.
It uses a different filesystem (exFAT i think?) for cards >=32GB? if i remember correctly - might be > 32GB and I'm wrong about this.
That may explain the discrepancy, not that exFAT is especially slow, but it could be that the implementation was poor and nobody cared because at the time nobody used exFAT. frankly, it's kind of a wonder it reads it at all.
To err is human. Fortune favors the monsters.
|
|
|
|
|
Reminds me on certain questions I have to resolve myself and I got a product manager working such questions out for me. However, this product manager talks to our users.
From my personal perspective, that's not a trade-off I as the maintainer would make, I'd ask users.
|
|
|
|
|
Just load the first 10 files. If the user goes for an 11th file then chuck the first 10 away and load the next 10 etc.. Optimised for less than 10 files but more can be reached.
I imagine that it is intended to be minimally distracting to a performing musician so you don't want modal selection procedures. This way it remains a simple up/down selection but you get a bump delay as you cross 10, 20 etc.
I would think that would be acceptable for such a device.
modified 19-May-22 5:22am.
|
|
|
|
|
List them all initially as 'grey', then as the list is parsed/checked change the colour to those for 'working', or 'corrupt'.
That way the user is carried along with a little understanding of the apparent 'informative progress bar' style display.
|
|
|
|
|
Offer it with an SD card filing system and you're golden. They have to be loading the midi files onto those SD cards somehow; what if you give them an app that does the whole process: read/scan each midi file, collect data on each, store that info in a db table or json file, and provide a code for labeling the SD card. Then your app can have a look-up tool that uses all of that great info you collected. Offer a special case for the SD cards that fits the labeling scheme you set up in the app.
ETA: obv, you'll need the look-up part of the app to be mobile-first.
|
|
|
|
|
Use a hash? A small Copy app to put files on the SSD and save a hash there. Instead of completely reading through the file with an integrity check, do a hash and then check against the saved one on the SSD.
|
|
|
|
|
This seems like the SD card file picker on my cheap 3D printer. Use a rotary knob to scroll thru the list of files and push to select. Except you can only show one line of text on your display.
Can you read one row/file at a time, or possibly two? Then keep current, prev, and next in memory and ignore the rest until the user scrolls.
Can you count the number of clicks on the rotator knob so you know how many indexes to scroll forward/back so the user can "spin the wheel" to get through a long list?
Do you have a FAT or equivalent to use as if it were an ISAM index so you don't have to read each file whilst scrolling?
|
|
|
|
|
I read all the filenames and basic information about the files into memory before I display the selection screen.
It is this portion that takes the time. The reason being is that I pre-validate and scan every file for corruption first.
The reason I do that is because musicians equipment seems to fail more often than what I'm used to and corrupt MIDIs are just a thing to be dealt with. Furthermore musicians are not tech savvy as a rule, so I'd rather not show the file in the list. So I don't.
When I display the files, it's one at a time
sonata.mid
4 tracks
tempo varies
or
sabotage.mid
11 tracks
tempo 175.0 BPM
with the name of the file being blue for type 1 and type 0 files, otherwise black for type 2 files (which are most suited for this gadget)
The rotary encoder spins the files plenty fast enough.
The only issue is after about a dozen midi files is where things start to get just on the other side of breezy and it goes downhill from there.
To err is human. Fortune favors the monsters.
|
|
|
|
|
With your one-item display and the need for immediate response, I would read the directory, sort the names into the desired order and display the first one without any information (say -checking- perhaps).
Update it when it's been examined.
Check the rest of the files as a background task after that.
If the user scrolls to a new uninspected one, drop the inspection of the first one and give the new one priority. Keep partial results if you can.
Allow selection and use before the check is finished, because it will nearly always be alright.
Display corrupted ones anyway, and show that as the track information. It's better than having your user be sure "it was on one of these SD cards here somewhere".
|
|
|
|
|
Agree with others on preload if possible.
Insert list in sorted order. That way they can title sets 1. Xxx, 2. Yyy, etc
Consider “Begin of List” and “End of List” entries or indicators.(independently)
|
|
|
|
|
kinky alien porn is unsurpassed (9)
modified 18-May-22 7:31am.
|
|
|
|
|
How many letters?
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Wonder how many actually use this word...
“Real stupidity beats artificial intelligence every time.”
― Terry Pratchett, Hogfather
|
|
|
|
|
I've only ever seen this word used in crosswords
Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming “Wow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
Archaic French, so probably still used in Quebec.
|
|
|
|
|
And Rees Mogg speeches.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
He said alien porn, not tractor porn.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
OK, I'll bite. nonpareil
scrambling the letters of alien porn to define unsurpassed
|
|
|
|
|
YAUT!
kinky (anagram)
alien porn (letters)
is unsurpassed (definition)
|
|
|
|
|
She wants to enter her Covid LFT result but her tablet is not playing ball, so she has been screaming at it for not turning on.
Finally, I go to investigate the problem, and ... the battery is at "0%" ...
At least it's easy to fix!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Quote: At least it's easy to fix! by taking some other tablets
|
|
|
|
|
RickZeeland wrote: by taking some other's tablet FTFY
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Mine too. Only she would go back to quill pens and calligraphy if it were possible.
Ed
|
|
|
|