Port CHDK file browser (file_man.mo)

Started by gerk.raisen, May 20, 2013, 10:38:45 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


made a repo

and Found reason for number issue . Solved it now.
Next, I will think about how to implement multiple-selection and "file operation status window".



ah sorry, i already checked in your new source code.
just wanted to write that here then i saw you forked on bitbucket :)

btw the numbers come from a missing
    e->menu_entry.priv = NULL;
after every menu entry.

i also added functions so that registering custom file types by other modules is possible.
so we can playback raw from within the filemanager.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!


I wouldn't recommend deleting the priv entry, since it was designed to identify the item. Just make sure you call the default update_action if you use a custom update function.

For actions, please use TYPE_ACTION.

Progress updates can be displayed from update_status (displayed at the bottom).

ScanDir is not thread safe, it needs a semaphore.


Thanks , I already used alex method(Used TYPE_ACTION).But I'm override menu_entry->update myself.It was problem. Solved it now.
And , I'm also thinking RAW playback from filer.
See here.
enum _FILER_OP {

So I want to know, how to know raw_rac.mo is already loaded, and how to call funcstion in anothers.
If you have a patch file, share it please,

Thanks suggestions for making Progress. Will try it.

ScanDir things. need a "menu_sem" ? . So I added functions in menu.c in previous codes src/filer.c version.
Need to add, GetSemWrapper()/ReleaseSemWrapper() in menu.c?
Is this better way? How do you think?


Quote from: g3gg0 on June 01, 2013, 09:57:57 PM
ah sorry, i already checked in your new source code.
just wanted to write that here then i saw you forked on bitbucket :)

You already have write permission on my repo. Because I'm used same permission with main repo.


Quote from: minimimi on June 02, 2013, 03:35:08 AM
ScanDir things. need a "menu_sem" ?

menu_add already has semaphores, so I think it should be alright. ScanDir was manipulating a linked list, so I've added the scandir_sem just in case. The only situation when things could have gone wrong was if you pressed some key exactly when a copy/move operation finished.


G3gg0 and Alex

Thank you for your merge/implove/brush up.
It's perfect for me. I'm using 64gig SD and 32gig CF. So I wanted to move RAW to SD.

Maybe here and
are close-able.

Multiple file selection is future TODO...I have no idea to make multiple file selection now...


I found answer for multiple file selection!!!!!
Soon will open new repo.
Already , almost codes are working. Yay, wait a moment


EOSM now have to touch screen to go up :(



basic functions are working. push file twice.

now debugging
-already registerd check when we push copy menu.
-cancel copy operation when we un-select all files

1% ,
we need "../" ?? or need ifdef for EOSM?


Q on eos M is 1 finger tap. No q button, only set. I don't know if you "need" it. I can use it either way.


I mean , use ifdef for :
-disable Q
-show "../"
Then you can use file manager with cursol keys. Is this a correct understanding?

I think almost fine on my multiple select codes. please check it except M(sorry.


Modules were designed to be portable, so... better just add it back?


I got it. Never use ifdefs in modules.
Then, how do you think about M 1%?


Either leave as is or add ../ back. Its only an issue where it will be confusing to people.

* Although probably only 2 people with eos M care.


Oh! important point is conflicted.

Are you already disabled "Q" ??


?! Q works fine here, it goes back by default (unless you override it when creating menu entries).



see here.
If you have no problem, enbale selectQ plz for multiple file selection.

Alex. sorry for confusing. I just understood you are not disable Q everyware. So I can solve myself.


File selection works very well, you can even select files from multiple folders and copy them to the same destination dir, very nice!

I've changed the buttons as follows:
- PLAY selects individual files
- menu entry for selecting all files with the same extension (e.g. if you shoot raw+jpeg and you want to delete all jpegs)

We need to be very careful with background tasks and exclusive access to certain data structures; for example, it was trivial to break the copy operation just by navigating to some other directory while copying (!)


Thanks your daily cooperation and polish it up. :D
I think we need to add some more miner chagens. When I make it, I will make a pull req.

-we need skip , when src & dst files are idential
-disable automatic power save (However we can't use half-push tric here. and we don't wanna change NVRAM value...)


For powersave I would add only a warning in menu.


I see. It's one of solution for current our knowlege.
And , pushed small pathces for "src&dst files are idential " and "cleanup memory when unloading".
Please review it.


Um, on my 60d the file browser is extremely slow when I try to browse a directory with a lot of files (like 1000) - is that just me, is it being worked on, or is this just the way it is?