Homebrew 3DShell - Multi-purpose File Manager for the 3DS

  • Thread starter Thread starter Joel16
  • Start date Start date
  • Views Views 160,901
  • Replies Replies 223
  • Likes Likes 54
Hello 3DS homebrew community, here's my (kinda) late Christmas present and a cheers to the new years for you guys. With 3DShell v3.0.0, the application is no longer in 'beta' stage (although some minor issues may exist), and is stable enough for optimal usage. For those that don't know 3DShell (3D Shell) is a multi purpose file manager with a GUI based on CyanogenMod/LineageOs's file manager. It allows the user to carry out basic file operations as well as support displaying various formats of images, extract zip files, play audio files, FTP, etc. This is a rather major update, and includes a lot of fixes and features that brings the application to a whole new level of maturity. However there's also some bad news. Some features that were planned have been scrapped, and these are the CIA installer and file downloader. I don't really have too much time to bother implementing these features because college keeps eating up too much of my time, however I can bring the CIA installer if highly requested. (Pull requests are also welcome!) Each year I get busier and busier and have less time to work on programs like this. Besides, this old dog might be getting too tired for this, once I'm done with this project I think it's time to call it quits.

DXr7jmI.png
eyWzpRr.png

Change-log:

Features:
  • Added sorting options into settings: alphabetical - ascending, alphabetical - descending, size - largest to smallest, and size - smallest to largest.
  • Directory listing is now initially alphabetically sorted. (Folder first / then files)
  • Display file transfer status and accepted connection address in FTP mode.
  • A minimal animated bar is displayed during file transfer in FTP mode.
  • Added music player with mp3, wav, ogg and flac support. (All thanks to deltabeard/MaK11-12 for implementing ctrmus functions as a base)
  • Added MP3 ID3v2 and ID3v1 parsing. (Displays title, album, genre etc.)
  • Added progress bar when copying/moving(cut) files.
  • Now uses the minizip v1.1 to extract zip files.
  • Added a progress bar when extracting zip files.
  • Many performance improvements. Removed unnecessary thread delays, code and lots of code clean-up.
  • Refactored config files. (Stored in /3ds/3DShell/config.cfg) - results in performance improvements and better organization. No longer creates separate config files for each setting (hidden.txt, bgm.txt, sysprotection.txt etc).
  • Refactored theme manager - Major improvements - code is a lot cleaner and switching between themes is much faster than before.
  • Add new boot logo by FrozenFire.
  • Update directory listing after disabling FTP. (Either press select or touch the FTP icon when FTP is enabled)
  • Add a toggle to display/hide 'hidden files'.
  • .files are now displayed if 'show hidden files' is enabled.
  • Merged upstream changes from FTPD.
  • New battery/Wi-Fi signal icons.
  • Increased text sizes for better readability.
Fixes:
  • Fixed incorrect timestamps in FTP.
  • Fixed special characters not being displayed.
  • Fixed special characters not being able to be modified under FTP.
  • Fixed bug when holding L + R for a while would generate many screenshots.
  • Fixed renaming non-empty directories.
  • Fixed folders with spaces in their names not being saved into last visited directory.
  • Copying a file from SD -> NAND or NAND -> SD has been fixed. (System protection should be turned off)
  • Better result handling to avoid crashes.
  • SD and NAND toggles have been moved to the far right to avoid confusion with other buttons.
  • Refactored makefile and fixed banner audio.

Download + QR

Oh almost forgot, with this release I'm also bundling an exclusive theme called "Material" (shown in the screenshots) which makes use of the improved theme manager. You can download the theme here: https://gbatemp.net/threads/3dshell-themes-list.476293/
 
Last edited by Joel16,
Hello 3DS homebrew community, here's my (kinda) late Christmas present and a cheers to the new years for you guys. With 3DShell v3.0.0, the application is no longer in 'beta' stage (although some minor issues may exist), and is stable enough for optimal usage. For those that don't know 3DShell (3D Shell) is a multi purpose file manager with a GUI based on CyanogenMod/LineageOs's file manager. It allows the user to carry out basic file operations as well as support displaying various formats of images, extract zip files, play audio files, FTP, etc. This is a rather major update, and includes a lot of fixes and features that brings the application to a whole new level of maturity. However there's also some bad news. Some features that were planned have been scrapped, and these are the CIA installer and file downloader. I don't really have too much time to bother implementing these features because college keeps eating up too much of my time, however I can bring the CIA installer if highly requested. (Pull requests are also welcome!) Each year I get busier and busier and have less time to work on programs like this. Besides, this old dog might be getting too tired for this, once I'm done with this project I think it's time to call it quits.

DXr7jmI.png
eyWzpRr.png

Change-log:

Features:
  • Added sorting options into settings: alphabetical - ascending, alphabetical - descending, size - largest to smallest, and size - smallest to largest.
  • Directory listing is now initially alphabetically sorted. (Folder first / then files)
  • Display file transfer status and accepted connection address in FTP mode.
  • A minimal animated bar is displayed during file transfer in FTP mode.
  • Added music player with mp3, wav, ogg and flac support. (All thanks to deltabeard/MaK11-12 for implementing ctrmus functions as a base)
  • Added MP3 ID3v2 and ID3v1 parsing. (Displays title, album, genre etc.)
  • Added progress bar when copying/moving(cut) files.
  • Now uses the minizip v1.1 to extract zip files.
  • Added a progress bar when extracting zip files.
  • Many performance improvements. Removed unnecessary thread delays, code and lots of code clean-up.
  • Refactored config files. (Stored in /3ds/3DShell/config.cfg) - results in performance improvements and better organization. No longer creates separate config files for each setting (hidden.txt, bgm.txt, sysprotection.txt etc).
  • Refactored theme manager - Major improvements - code is a lot cleaner and switching between themes is much faster than before.
  • Add new boot logo by FrozenFire.
  • Update directory listing after disabling FTP. (Either press select or touch the FTP icon when FTP is enabled)
  • Add a toggle to display/hide 'hidden files'.
  • .files are now displayed if 'show hidden files' is enabled.
  • Merged upstream changes from FTPD.
  • New battery/Wi-Fi signal icons.
  • Increased text sizes for better readability.
Fixes:
  • Fixed incorrect timestamps in FTP.
  • Fixed special characters not being displayed.
  • Fixed special characters not being able to be modified under FTP.
  • Fixed bug when holding L + R for a while would generate many screenshots.
  • Fixed renaming non-empty directories.
  • Fixed folders with spaces in their names not being saved into last visited directory.
  • Copying a file from SD -> NAND or NAND -> SD has been fixed. (System protection should be turned off)
  • Better result handling to avoid crashes.
  • SD and NAND toggles have been moved to the far right to avoid confusion with other buttons.
  • Refactored makefile and fixed banner audio.

Download + QR

Oh almost forgot, with this release I'm also bundling an exclusive theme called "Material" (shown in the screenshots) which makes use of the improved theme manager. You can download the theme here: https://gbatemp.net/threads/3dshell-themes-list.476293/
Holy sh*t man. That's fantastic! It looks amazing! Thank you so much!
 
  • Like
Reactions: Joel16
When open player listen music in headphones and close up 3DS music still plays, but when open up there black screen. Helps only restart of console.
CF - 11.6
last Luma
New 3DS
3DShell 3.0
.mp3 format
 
  • Like
Reactions: dsearnack
When open player listen music in headphones and close up 3DS music still plays, but when open up there black screen. Helps only restart of console.
CF - 11.6
last Luma
New 3DS
3DShell 3.0
.mp3 format

Totally forgot about sleep mode while testing! Anyways thanks for reporting, I'll take a look once I get more time.
 
Totally forgot about sleep mode while testing! Anyways thanks for reporting, I'll take a look once I get more time.
Ah. Please, add function switch songs on ZL and ZR, (not L and R, or change it in menu), because in original 3DS player you can't do that. You can switch music on triggers in Super Smash Bros.
 
Ah. Please, add function switch songs on ZL and ZR, (not L and R, or change it in menu), because in original 3DS player you can't do that. You can switch music on triggers in Super Smash Bros.

Yeah this was a planned feature but unfortunately didn't have enough time to include it in the release. I'll try to get onto it when I get more time. I'll make it so that either ZL/ZR or L/R can be used to switch songs.
 
A Slideshow feature would be neat. :)

Not sure if I'll have time for that, but we'll see. It's not really a feature for a file manager, it's more of a feature for a custom menu or something.

Also starting today I'm introducing bleeding edge builds (kinda like nightlies or should I say compileies?) that is generated after each commit has been pushed guaranteed that the build was successful. While these are untested, they are always built with the most up to date build environment (devkitarm, ctrulib, citro3d and portlibs) as they compile each and everyone of these with the latest commits. Considering I sometimes take forever to get an actual release up, this should hopefully give people a taste of what the most recent changes are like.

You can find the builds here: http://joel16.github.io
 
I'm looking forward to the txt editor, it would be awesome, anyway I can't read file's name if it is too long, I can see less characters using "Properties" than in the normal view, can you add a scrolling animation in the normal view and the possibility of having more columns of text using "Properties"?
 
I'm looking forward to the txt editor, it would be awesome, anyway I can't read file's name if it is too long, I can see less characters using "Properties" than in the normal view, can you add a scrolling animation in the normal view and the possibility of having more columns of text using "Properties"?

Yeah I can try and do that. If you can, could you possibly send a screenshot? I tired to account for long file names but didn't think people would have a longer file name than what fits in the main screen.
 
Alright, well I got done with my semester but now I'm busy with work ):
However that hasn't stopped me from working on this. I have now integrated an inbuilt updater for .3dsx and 3dshell. To get this you need to first install the following (3dsx or CIA): https://github.com/joel16/3DShell/tree/gh-pages From this build onwards you can install nightly updates. Nightly builds aren't really 'nightly' but they build each time a commit has been pushed. So chances are you might experience bugs. Release builds only happen once a full release that increments the version has been pushed. The updater is still new so it doesn't throw any proper error messages or anything yet (if an error occurs that is), but it does work. I'm doing this to get better interaction with the community since release intervals seem to be increasing as I get more busy. Be sure to leave some feedback if you are to use it.

Anyways enough blabbing, here's a screenshot:

NrBNNBN.png


 
Last edited by Joel16,
Alright, well I got done with my semester but now I'm busy with work ):
However that hasn't stopped me from working on this. I have now integrated an inbuilt updater for .3dsx and 3dshell. To get this you need to first install the following (3dsx or CIA): https://github.com/joel16/3DShell/tree/gh-pages From this build onwards you can install nightly updates. Nightly builds aren't really 'nightly' but they build each time a commit has been pushed. So chances are you might experience bugs. Release builds only happen once a full release that increments the version has been pushed. The updater is still new so it doesn't throw any proper error messages or anything yet (if an error occurs that is), but it does work. I'm doing this to get better interaction with the community since release intervals seem to be increasing as I get more busy. Be sure to leave some feedback if you are to use it.

Anyways enough blabbing, here's a screenshot:

NrBNNBN.png


Hey. So I took some screenshots using Luma is there any way this program can take these screenshots (bmp files) and move them into the DCIM folder so I can use the image share app to post them to Twitter (I have no computer access currently)

Thanks
 
Hey. So I took some screenshots using Luma is there any way this program can take these screenshots (bmp files) and move them into the DCIM folder so I can use the image share app to post them to Twitter (I have no computer access currently)

Thanks

There's no way to automatically do that. You can move the screenshots to that directory using the cut/copy option in file options. Multi select is yet to be implemented.
 
There's no way to automatically do that. You can move the screenshots to that directory using the cut/copy option in file options. Multi select is yet to be implemented.
Would this allow me to share the images via Nintendo Image Share
 

Site & Scene News

Popular threads in this forum