Git Product home page Git Product logo

nxgallery's Introduction

NXGallery

🎮 A Nintendo Switch Homebrew Application to transfer your screenshots to your phone in no-time 📱⚡

What is it?

  • Simplifies the process of exchanging your console's gallery with your smartphone
  • Allows easy and quick sharing of screenshots with your friends
  • Needs Homebrew (CFW) installed on your Switch

Screenshots

Installing

Download the latest release and drag the NXGallery.nro file to the switch/ folder of your SD card. You can also drag the file to your Switch via ftpd. NXGallery is also available in the Homebrew App Store.

NXGallery was tested working on Atmosphère 1.6.2 and firmware version 17.0.1, but should work above/below, if you know what you're doing.

Building

Compiling this project requires a Nintendo Switch Homebrew dev environment to be installed. Then, install the following dependencies (required for borealis):

(sudo) (dkp-)pacman -S switch-glfw switch-mesa switch-glm

After that, clone this repo and run make all in the root of this repo. You will find all compiled files in the out/ folder.

Credits

I've used the following libraries, without this project wouldn't have been possible:

Also, special thanks to HookedBehemoth's ShareNX project which has helped me out on some rough edges.

License

MIT License

Copyright (c) 2020-2024 Jonathan Verbeek

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

nxgallery's People

Contributors

iultimatelp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

nxgallery's Issues

Downloading error

When downloading media in browsers like Opera touch, it shows an error.
Screenshot_20211023-180355
Screenshot_20211023-180400

Doesn't work

When I try to scan the qr code, an error appears saying that "the page took too long to respond". Any solutions?

ERR_ADDRESS_UNREACHABLE

I am using the program and all the networks are correct but when entering the web page, it throws an error ERR_ADDRESS_UNREACHABLE and is connected to the same network

NXGallery crashes on trying to connect to the IP via web browser.

I'm on Atmosphère 0.18.1 and FW 11.0.1, in a file-based EmuMMC. Upon launching NXGallery via title override, it crashes as soon as I enter my Switch's IP in a web browser. Additional information that might be helpful:
Screenshots are stored in: SD:/emuMMC/SD00/Nintendo/Album
Other sysmodules I'm running are sys-clk and nx-ovlloader.

Hopefully this helps, I don't really know what went wrong.

Crashed on some games without names

what I used: latest atmosphere and firmware
game: Buddy Mission Bond (HK ver. title: 010042F014A00000)
In the album this game is show up as "搭档任务 秘密搜查组", but in the NXgallery it doesn't show up anything.
cp
If a screenshot of such a game without a name exists on the current page, then NS will crash when turning to another page.
crash report: Atmosphere.zip

Can you add a "Jump to specified page" button?

As the question. i have 44 pages of screenshots, when i want to go to page 22, i need to scroll down the page, click next page, scroll down the page, click next page ...... repeat this step many times.

[Request] Add download button for videos

I use Firefox for Windows and the default player doesn't have a dedicated button to download videos. I can rightclick-download just right, I just thought it'd be nice for the UX to be consistent with pictures.

Otherwise this is a great hb, good job!

Stops updating gallery after launching in airplane mode

Initially happened with pokemon SwSh with y-comm using local network and launching hbmenu in applet mode. Can be reproduced with enabling airplane mode. Gives address 1.0.0.127:1234, doesn't load.
System 13.1.0, Atmosphere 1.2.5, hbmenu 3.5.0

Things that need to change for a recompile

i looked into it but lost interest after i noticed it needs a little more changes. im writing this down in case i will not touch this again or if someone else wants to take a look.

makefile:68

allows the usage of std::filesystem

    CFLAGS	:=	-g -std=c++17 -Wall -O2 -ffunction-sections \

albuwrapper.cpp:351

fix a bug that will crash the whole homwbrew upon opening the website

    // Determine the type by looking at the file extension
    // bool isVideo = foundFileName.compare(foundFileName.length() - 3, 3, "mp4") == 0;
    // jsonObj["type"] = isVideo ? "video" : "screenshot";

    jsonObj["type"] = "screenshot";
    std::filesystem::path filePath = foundFileName;
    if (filePath.extension() == ".mp4")
        jsonObj["type"] = "video";

currently the "path" key inside the gallery content is missing, which will result in no images shown, even if the above homebrew-crashing bug is fixed. i am not quite sure if its because my emummc is RAW2 or because readdir is broken. i suggest you use std::filesystem to iterate through folders.

albumwrapper.hpp:19

emummc paths can be RAW2 (and probably RAW3,4,5 too). I only have one emummc and yet hekate formatted it this way.

index.html:37

change unpgk to fixed versions. this will fix current react and materialui issues

    <script src="https://unpkg.com/[email protected]/umd/react.development.js" crossorigin></script>
    <script src="https://unpkg.com/[email protected]/umd/react-dom.development.js" crossorigin></script>
    <script src="https://unpkg.com/@material-ui/[email protected]/umd/material-ui.development.js" crossorigin></script>

Add filtering

Add a filter to the frontend to allow filtering by

  • game
  • date
  • type (screenshot, video)
  • storage location

Suggestions

It would be nice to:

1 - Choose how many screenshots having for page;
2 - Have the navigation menu on top of the screen too, so no need to always scroll down to change page;
3 - accesskey could be useful as well to navigate the webpage. :)

Just Say

Really good work, any way to donate for your work?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.