Giter Site home page Giter Site logo

osr-viewer's Introduction

Note: I am not going to make any changes to this unless I suddenly gain interest in this game again. Anyone is free to fork this and do whatever they want under the terms of the MIT license.

osr viewer

Kokou no Sousei

This is a few things I was messing around with the osu! replay format and pygame. There's also a sort of library in osr.py for reading the maps.

I am using Poetry for dependencies, so you can just do poetry install after cloning the repo to start running things.

multi_render.py

This will read a bunch of replays at the same time and show them at the same time.

To run it, you need a folder with an mp3 in it and some replays. Then run it like python multi_render.py ooi where ooi is the folder containing the mp3 and replays. Note that the mp3 must be 44.1 kHz otherwise the song will play really slowly. I don't know why this happens, and I don't know why some of the mp3s that osu! downloads are 48 kHz but it's not that hard to resample them. I used Audacity for this.

hotkeys

  • left click: increase circle radius
  • right click: decrease circle radius
  • scroll up: increase trail duration
  • scroll down: decrease trail duration
  • escape, ctrl+c: quit

multi_image.py

This script will write images to a file for each 60 fps frame of all of the maps. You can then mux/encode these together with ffmpeg to make a video you can actually upload to YouTube or whatever. This is what I used to upload a bunch of the videos on my YouTube channel automatically.

osr-viewer's People

Contributors

dependabot[bot] avatar hannahherbig avatar jonese1234 avatar pre-commit-ci[bot] 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

Watchers

 avatar  avatar  avatar  avatar  avatar

osr-viewer's Issues

option to show the beatmap

Currently this doesn't read the beatmap files at all, just the replays. It would be neat if there was an option to show the beatmap as well, without using something else

multi_render.py fails to run

Python gives this error when issuing this command:
python multi_render.py notitle

Traceback (most recent call last):
  File "multi_image.py", line 7, in <module>
    import PIL.Image
ImportError: No module named 'PIL'

The beatmap and replays are in the "notitle" folder.

This is on Windows 8.1 with Python 3.5.2

EDIT: I tried doing "pip install image" and now it gives a different error:

Traceback (most recent call last):
  File "multi_image.py", line 124, in <module>
    im.save(os.path.join('out', '%s-%05d.png' % (basename, frame)))
  File "C:\Program Files\Python35-32\lib\site-packages\PIL\Image.py", line 1682,
 in save
    fp = builtins.open(filename, "wb")
FileNotFoundError: [Errno 2] No such file or directory: 'out\\notitle-00000.png'

ImportError

Hello there!
So yea, I'd like to test this program, but i'm getting a ImportError on the File "multi_render.py", line 3.
It says " ImportError: No module named 'recordclass' " Hope it'll be fix soon! Thanks!

btw, I'm new to python and I don't know how to fix this one >.<

Replay Survival Mode

The idea is that you start with 50 or 100 replays and when the replay drops, they are removed from the video and so with really hard maps, you end up with only a few who are able to Fc.

This is just a thought.

DT/HT support

Currently, this doesn't do anything with DT or HT for the song. The replays play as if they aren't slowed down

investigate offset

A few people have commented on my videos that the replay was offset from the song. Figure out why

aalines vs lines

use aalines instead lines, looks better

if tail:
        for points, color in lines:
            pygame.draw.aalines(screen, color, False, points)

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.