3DShell: Difference between revisions

From GameBrew
(Created page with "{{Infobox 3DS homebrew | title = 3DShell | image = https://dlhb.gamebrew.org/3dshomebrew/3DShell.png|250px | type = Utilities | version = v4.3.1 | licence = Mixed | author = j...")
 
No edit summary
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox-3DS-Homebrews
| title = 3DShell
| title = 3DShell
| image = https://dlhb.gamebrew.org/3dshomebrew/3DShell.png|250px
| image = https://dlhb.gamebrew.org/3dshomebrew/3DShell.png|250px
| type = Utilities
| type = Utilities
| version = v4.3.1
| version=v5.1.0
| lastupdated = 2021/03/24
| licence = Mixed
| licence = Mixed
| author = joel16
| author = joel16
| website = https://github.com/joel16/3DShell
| website = https://github.com/joel16/3DShell
| download = https://dlhb.gamebrew.org/3dshomebrew/3DShell-4.3.1.rar
| download = https://dlhb.gamebrew.org/3dshomebrew/3DShellv5.1.0.7z
| source = https://dlhb.gamebrew.org/3dshomebrew/3DShell-4.3.1.rar
| source = https://github.com/joel16/3DShell/releases
}}
}}
<youtube>uJeBaISd2WI</youtube>
3DShell (pronounced 3D-Shell) is a multi-purpose file manager for the Nintendo 3DS that aims towards handling media files.
 
Unlike [[FBI 3DS|FBI]] which specializes more in title management, 3DShell leans towards more of the file management features such as opening and managing various files types and includes the basic necessity of a standard file manager. This program's design elements are clearly inspired by CyanogenMod/LineageOS's built in file manager, and so all credits towards the design go to the CyanogenMod/LineageOS contributors.
 
==Features==
* Storage bar (at the very top, just beneath the current working directory).
* Precise battery percentage using mcu::hwc.
* Image preview:
** If the image is around 400*480 which is the size of both screens, the image will be split in half and displayed.
** Support image formats - GIF (non animated), BMP, JPG, PCX, PNG, PGM, PPM and TGA.
* Creating new folders and files.
* Renaming files/folders.
* File/folder deletion.
* Copy/Move files and folders.
* Multi-select items for delete/cut/copy (using Y button).
* Extract various archives such as ZIP, RAR, and 7Z.
* Searching for directories - Allows you to quickly visit a directory by tapping the search icon (top right of the bottom screen).
* File properties - Lets you view info on current file/folder, such as size, modified time, parent folder etc.
* Dir list sorting (alphabetical - ascending/descending; size - largest to smallest/smallest to largest).
* Browsing CTRNAND and copying data to/from CTRNAND.
* Online updater.
 
==Installation==
Available as a 3DSX and CIA.
* 3DSX - Copy .3dsx to the 3ds folder on your SD card and launch it via homebrew loader.
* CIA - Copy .cia to your SD card and install it with a CIA installer, such as [[FBI 3DS|FBI]].
 
==Controls==
'''Basics:'''
 
C-Pad - Quick scroll between files
 
Up/Down - Scroll between files
 
Left/Right - Page up/down
 
A - Enter a folder, Open file
 
B - Exit a folder, Close file
 
Y - Select file
 
X - Open the action menu, View image properties
 
Start - Exit Homebrew
 
==Screenshots==
'''Home'''<br>
https://dlhb.gamebrew.org/3dshomebrew/3dshell1.png


# 3DShell [![Build Status](https://travis-ci.org/joel16/3DShell.svg?branch=master)](https://travis-ci.org/joel16/3DShell) ![Github latest downloads](https://img.shields.io/github/downloads/joel16/3DShell/total.svg)
'''Music Player'''<br>
https://dlhb.gamebrew.org/3dshomebrew/3dshell2.png


Purpose:
'''Sorting options'''<br>
--------------------------------------------------------------------------------
https://dlhb.gamebrew.org/3dshomebrew/3dshell3.png
3DShell (pronounced 3D-Shell) - is a multi-purpose file manager for the Nintendo 3DS that aims towards handling media files. Unlike [FBI](https://github.com/Steveice10/FBI) which specializes more in title management, 3DShell leans towards more of the file management features such as opening and managing various files types and includes the basic necessity of a standard file manager. This program's design elements are clearly inspired by CyanogenMod/LineageOS's built in file manager, and so all credits towards the design go to the CyanogenMod/LineageOS contributors.


<p align="center">
'''Online updater'''<br>
<img src="https://i.imgur.com/pNZ3gPh.png" alt="3DShell Screenshot"/>
https://dlhb.gamebrew.org/3dshomebrew/3dshell4.png
</p>


Current features:
==Media==
--------------------------------------------------------------------------------
'''3DShell - Music Player''' ([https://www.youtube.com/channel/UC2YsEwGp9Oju4_Ofki0_njw Joel16])<br>
- Storage bar (at the very top, just beneath the current working directory).
<youtube>uJeBaISd2WI</youtube>
- Precise battery percentage using mcu::hwc.
- Creating new folders and files.
- Renaming files/folders.
- File/folder deletion.
- Copy/Move files and folders.
- Multi-select items for delete/cut/copy (using Y button).
- FTP server (Press select or tap the ftp icon to toggle).
- Image preview (If the image is around 400 * 480 which is the size of both screens, the image will be split in half and displayed. Support for the following image formats -> BMP, GIF - non animated, JPG, PCX, PNG, PGM, PPM and TGA)
- Extract various archives such as ZIP, RAR, 7Z, ISO 9660, AR, XAR and others supported by libarchive.
- Searching for directories (allows you to quickly visit a directory by clicking the search icon on the top right (bottom screen).)
- File properties - lets you view info on current file/folder, such as size, modified time, parent folder etc.
- Screenshots - Press (L + R) -> (/screenshots/Screenshot_YearMonthDay-Num.bmp)
- Fast scroll - Use analog stick.
- File timestamps.
- Browsing CTRNAND and copying data to/from CTRNAND.
- Audio playback support for the following formats -> IT, OGG, MOD, MP3, S3M, WAV and XM.
- Dir list Sorting (alphabetical - ascending, alphabetical - descending, size - largest to smallest, and size - smallest to largest).
- Online updater (nightly/releases)


Building from source:
==Changelog==
--------------------------------------------------------------------------------
'''v5.1.0 2021/03/24'''
1. Ensure you have the devkitPro, ctrulib and citro3D and citro2D installed correctly. Make sure you have [makerom](https://github.com/profi200/Project_CTR) and [bannertool](https://github.com/Steveice10/bannertool) installed into your path as well.
* Block NAND access if developer options is disabled.
* Fix selector going out of bounds when right/left (page up/page down) key is used.
* CIA builds are now available. The updater will also download/install updates based on the version you are updating from.
* Fix selector going out of bounds when returning from a folder with a long list of files.
* Fix width/height display in image properties.
* Account for images that fit both screens in image viewer and implement zoom/navigation functionalities when viewing images.
* Archive extraction is back and currently supports .7z, .rar and .zip.
* Fix alphabetical sorting for filenames with different case letters.
* Allow user to cancel a file copy or archive extraction by the use of the "B" button.
* Improvised on bottom screen status bar icons.
* Updater will now display the download progress.
* GUI will now trim the string appropriately if length of a file name/current directory goes beyond the screen.
* Touch controls are back for both file options and settings.
* Fixed issues copying certain files/folders due to the file names not being cleared and improper casting in progress bar.


2. Install the following dependecies from [devkitPro's pacman](https://devkitpro.org/viewtopic.php?f=13&t=8702):
'''v5.0.0 BETA 1 2021/02/08'''
* `sudo dkp-pacman -Syu 3ds-dev --noconfirm --needed`
* File browser now displays twice as many files as previous versions (5 -> 10).
* `sudo dkp-pacman -Syu 3ds-curl --noconfirm --force`
* Selector now properly follows input and doesn't just stay at the bottom of the screen.
* `sudo dkp-pacman -Syu 3ds-libogg --noconfirm`
* 3DShell's screenshot feature has been completely removed. (Rosalina already has a screenshot function so we don't need this here).
* `sudo dkp-pacman -Syu 3ds-libvorbisidec --noconfirm`
* There are no longer any nightly updates. The updates option in settings will instead download and install the latest release from GitHub if your application is not up to date.
* `sudo dkp-pacman -Syu 3ds-mpg123 --noconfirm`
* Storage bar is back.
* `sudo dkp-pacman -Syu 3ds-opusfile --noconfirm`
* When viewing an image you can press "X" to view some properties like the name, width and height.
* `sudo dkp-pacman -Syu 3ds-flac --noconfirm`
* Removed many unused assets and compressed a few (file icons are a lot smaller now) icons.
* `sudo dkp-pacman -Syu 3ds-libarchive --noconfirm`
* A lot of under the hood changes, clean-ups that aren't necessary to list here.


3. Clone the 3DShell repository:
[https://github.com/joel16/3DShell/releases Revision changelog.]
```bash
git clone --recursive https://github.com/joel16/3DShell.git
```
4. Open the project diretory:
```bash
cd 3DShell/
```
5. Build the binary using make:
```bash
make
```


Credits:
==Credits==
--------------------------------------------------------------------------------
* deltabeard/MaK11-12 for the inital ctrmus code port.
- deltabeard/MaK11-12 for the inital ctrmus code port.
* mtheall for ftpd.
- mtheall for ftpd.
* preetisketch for the banner.
- preetisketch for the banner.
* FrozenFire for the boot logo.
- FrozenFire for the boot logo.


You can update straight from 3DShell, by tapping the download icon (Updates menu) and updating via the official release build option which is found under "Milestone builds".
==External links==
* GitHub - https://github.com/joel16/3DShell
* GBAtemp - https://gbatemp.net/threads/3dshell-multi-purpose-file-manager-for-the-3ds.471503


Re-uploaded with 94201c1 Properly free image data when loaded from SD/Memory.
[[Category:3DS homebrew applications]]
Fix down-sampled MP3 files not being played properly, and providing inaccurate timings.
[[Category:Homebrew utility applications on 3DS]]
Possible attempt at fixing scratchy audio with O3DS as reported by one user (needs more testing?)
Fix crash with the CIA version (due to some resources not being freed properly) after you exit the app granted that you opened any of the supported audio files.
Added support for extracting more archive formats such as 7z, ISO 9660, AR, XAR and other formats supported by libarchive.
Next nightly/milestone releases will remove the .CIA file after updating from the .CIA version.

Revision as of 07:44, 11 September 2021

Template:Infobox-3DS-Homebrews 3DShell (pronounced 3D-Shell) is a multi-purpose file manager for the Nintendo 3DS that aims towards handling media files.

Unlike FBI which specializes more in title management, 3DShell leans towards more of the file management features such as opening and managing various files types and includes the basic necessity of a standard file manager. This program's design elements are clearly inspired by CyanogenMod/LineageOS's built in file manager, and so all credits towards the design go to the CyanogenMod/LineageOS contributors.

Features

  • Storage bar (at the very top, just beneath the current working directory).
  • Precise battery percentage using mcu::hwc.
  • Image preview:
    • If the image is around 400*480 which is the size of both screens, the image will be split in half and displayed.
    • Support image formats - GIF (non animated), BMP, JPG, PCX, PNG, PGM, PPM and TGA.
  • Creating new folders and files.
  • Renaming files/folders.
  • File/folder deletion.
  • Copy/Move files and folders.
  • Multi-select items for delete/cut/copy (using Y button).
  • Extract various archives such as ZIP, RAR, and 7Z.
  • Searching for directories - Allows you to quickly visit a directory by tapping the search icon (top right of the bottom screen).
  • File properties - Lets you view info on current file/folder, such as size, modified time, parent folder etc.
  • Dir list sorting (alphabetical - ascending/descending; size - largest to smallest/smallest to largest).
  • Browsing CTRNAND and copying data to/from CTRNAND.
  • Online updater.

Installation

Available as a 3DSX and CIA.

  • 3DSX - Copy .3dsx to the 3ds folder on your SD card and launch it via homebrew loader.
  • CIA - Copy .cia to your SD card and install it with a CIA installer, such as FBI.

Controls

Basics:

C-Pad - Quick scroll between files

Up/Down - Scroll between files

Left/Right - Page up/down

A - Enter a folder, Open file

B - Exit a folder, Close file

Y - Select file

X - Open the action menu, View image properties

Start - Exit Homebrew

Screenshots

Home
3dshell1.png

Music Player
3dshell2.png

Sorting options
3dshell3.png

Online updater
3dshell4.png

Media

3DShell - Music Player (Joel16)

Changelog

v5.1.0 2021/03/24

  • Block NAND access if developer options is disabled.
  • Fix selector going out of bounds when right/left (page up/page down) key is used.
  • CIA builds are now available. The updater will also download/install updates based on the version you are updating from.
  • Fix selector going out of bounds when returning from a folder with a long list of files.
  • Fix width/height display in image properties.
  • Account for images that fit both screens in image viewer and implement zoom/navigation functionalities when viewing images.
  • Archive extraction is back and currently supports .7z, .rar and .zip.
  • Fix alphabetical sorting for filenames with different case letters.
  • Allow user to cancel a file copy or archive extraction by the use of the "B" button.
  • Improvised on bottom screen status bar icons.
  • Updater will now display the download progress.
  • GUI will now trim the string appropriately if length of a file name/current directory goes beyond the screen.
  • Touch controls are back for both file options and settings.
  • Fixed issues copying certain files/folders due to the file names not being cleared and improper casting in progress bar.

v5.0.0 BETA 1 2021/02/08

  • File browser now displays twice as many files as previous versions (5 -> 10).
  • Selector now properly follows input and doesn't just stay at the bottom of the screen.
  • 3DShell's screenshot feature has been completely removed. (Rosalina already has a screenshot function so we don't need this here).
  • There are no longer any nightly updates. The updates option in settings will instead download and install the latest release from GitHub if your application is not up to date.
  • Storage bar is back.
  • When viewing an image you can press "X" to view some properties like the name, width and height.
  • Removed many unused assets and compressed a few (file icons are a lot smaller now) icons.
  • A lot of under the hood changes, clean-ups that aren't necessary to list here.

Revision changelog.

Credits

  • deltabeard/MaK11-12 for the inital ctrmus code port.
  • mtheall for ftpd.
  • preetisketch for the banner.
  • FrozenFire for the boot logo.

External links

Advertising: