Giter VIP home page Giter VIP logo

osp's Introduction

OSP - Old School Player

Yet another chiptune player but for your Nintendo Switch.

Supported formats:

snd, sndh, sc68, sid, psid, rsid, mus, ay, gbs, gym, hes, kss, nsf, nsfe, sap, spc, vgm, vgz, mptm, mod, s3m, xm, it, 669, amf, ams, c67, dbm, digi, dmf, dsm, dtm, far, imf, ice, j2b, m15, mdl, med, mms, mt2, mtm, nst, okt, plm, psm, pt36, ptm, sfx, sfx2, st26, stk, stm, stp, ult, wow, gdm, mo3, oxm, umx, xpk, ppm, mmcmp

Controls:

  • With mouse emulation:

    • Left joystick: move cursor
    • Right joystick: scroll up/down in area allowed to scroll
    • A: Left click
    • X: Right click (display some popup menus according on the hovered item)
    • L shoulder: Speed down mouse and scroll (keep button down)
    • R shoulder: Speed up mouse and scroll (keep button down)
  • Touch controls can be enabled/disabled (it work as a "mouse right click", no more)

  • Nintendo switch usb mouse support (please disable manually mouse emulation in this case)

  • Obviously, don't try to disable mouse emulation AND touch controls if you do not have an USB mouse compatible with your Switch hehe.

Build

To be able to compile the project you need the following libraries installed in your system:

  • libsdl2, libsdl2-image, libjansson, libfmt, libconfig++ wich can be found is usually your package manager.
  • libgme, libsidplayfp, libsc68 and libopenmpt wich can be optained by following the links above in case they are not available on your system.
  • Glad loader installed with 3.3 Core capabilities (your video card must support OpenGL 3.3 Core)

Currently this code can be build for Nintendo Switch and Linux but you may need to tweak the Makefile.sdl to fit your Linux needs. I essentially target the switch and the other build help me for debug purpose.

This source code is bundled with a version of ImGui (1.79 tables branch) and ECS and some fonts (Atari ST 8x16, Material Design Icons, and Roboto)

Todos:

  • Add some tooltips and missing translation
  • Open .m3u files ?
  • modland ftp support ?

Some ideas:

  • Implement the ability to browse modland ftp
  • Create some custom controls using the ImGui framework
  • Vu meter around the player controls (left and right)
  • When the worspace is not visible, add options to show something (minigames, song information, shaders...)
  • Battery save mode (black screen, stop refreshing or do it at low fps ?)
  • Add a better touch support

Screenshots

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.