Giter Club home page Giter Club logo

notreaper's People

Contributors

circuitlord avatar jukibom avatar lmadara1 avatar mallgrab avatar mettra avatar octoberu avatar wolferacing avatar

Stargazers

 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  avatar

notreaper's Issues

Grid Precision + UI enhancements

I put grid and UI together in this suggestion because the UI enhancement suggested correlates to the placement of objects on the grid.

I am proposing the three following additions/enhancements to NotReaper:

  • 1.) The ability to have grid precision. Having grid precision will allow for more granular placement of objects while still having a reference point to the initial grid, making symmetrical patterning and even spacing/accenting substantially easier to do within the normal 1x1 grid spacing. With proper implementation and tight enough precision, chain notes can be quickly placed with mathematically proper spacing, allowing for better consistency in chain links (i.e. more precise, distance-based snapping).

  • 2.) The ability to see the X/Y coordinates of a highlighted note. Whether or not this is an X/Y pairing of coordinates by pixel or if a relative, fractional/decimal number based off of the grid index is irrelevant - it will allow for placing another notes that are potentially unsnapped with similar points along a particular axis.

  • 3.) The ability to see your coordinates within the grid itself. Sometimes, a pattern presentation might be too subtle to lock onto a grid coordinate (unless snapping can be extremely precise); however, having a visibility of X/Y coordinates can guarantee placement that is where you intend, perhaps mathematically.

I'm an idiot and had all of these things in one image but apparently lost a layer for the grid when flattening, so have two images.

X/Y coordinates: https://i.imgur.com/KWPDxI8.jpg
Grid: https://i.imgur.com/0g5jRks.png

Select + drag targets makes it possible to move outside the grid

This should NOT be a validation step on loading existing files as some maps do have targets outside of the grid using offsets rather than the pitch value.

This only affects the UI of single notes and groups of notes being dragged around and should be prevented in the drag code (unless an override modifier is held? Some people do like to push things out of the grid).

Improved overlay for targets to be placed

The cursor shows an icon of the same style and opacity as the target icons already in the grid / scene. It isn't always obvious that a new icon is about to be placed on click.

Not sure what this should look like, one suggestion by aggrogahu is an inverted style.

image

Missing tags in metadata

PreviewTimeSeconds missing from metadata, also a button for setting current time as previewtime

Repeaters

Repeaters are sections of notes that can be defined, then places into a song along the timeline. Repeater sections all reference the same underlying notes, meaning that any modifications to a Repeater will automatically transfer to the same sections throughout the timeline.

UI Mockup:

Repeaters can also be shortened relative to their true length, meaning only that subsection of the Repeater will be present at that time

cues have 0 ticklength

default ticklength for non sustain cues are currently 0, which creates issues of compatibility with converting back to midi:

image

since the cues will be represented as this tiny hard to see midi notes that are hard to select.

A default of 120 ticklength for regular targets would probably be good. 120 is the equivalent of a sixteenth note, and makes for good visibility in midi editors. In the event that a cue immediately following a cue happens before 120 ticks, this doesn't actually cause any issues with the game or in midi, afaik.

A "Reaper" input mode

At least, I think that's what this issue was originally reported for...

An option to make left click place left hand notes and right click place right hand notes. Double click to delete.

May be worth using this ticket for any other shortcuts and stuff that might ease the transition for Reaper users?

Hold shift to disable snapping

Hold Shift to temporarily switch selectedSnappingMode between None and previous (Melee / Grid) exactly like ctrl does

Bookmark system

It looks like there's a bookmark system in MiniTimeline.cs but it currently conflicts with other tool selection mapped to numeric keys (ctrl + shift + number to make a bookmark, number to return)

Weird Drag Select behavior when leaving tool while dragging

I sort of attempted to fix this in my latest commits, but it didn't seem to fix it completely.
Steps:
Select some notes.
Start dragging them somewhere on the grid.
Let go of ctrl before you let go of the mouse button

When you try to drag again, the notes will start dragging off the wrong pivot point.

Waveform view on timeline

I think it would be helpful to be able to see the song waveform in the timeline. Many other editors have this like Moonscraper, and it would help with syncing notes if the bpm or offset is a little off.

Error Checker

Error Checker function that parses a cues file and finds errors in the map, such as chain link nodes that don't have a chain start, targets with invalid hitsounds or tickLengths, etc.

Can be extended to give warnings on targets that go against good practice, such as low single melees. Or for following lower difficulty guidelines, such as no slotted notes for Standard, etc.

Errors:

  • headless chains
  • invalid hitsound
  • targets occupying same pitch at same time
  • targets of the same color occurring at the same time
  • no untraceable chains
  • no chains slower than eighth note rhythm

General

  • low solo melees
  • melees with non-melee hitsound
  • insufficient break between a sustain end and the next target on the same hand*
  • insufficient break between a chain end and the next target on the same hand*

*value for these should be configurable, default being 1 full beat.

Advanced warnings:

  • no simultaneous targets more than 4 spaces apart
  • no more than 3 consecutive 16th notes
  • slot notes need at least 2 beats of lead-in time

Standard warnings:

  • no slot targets
  • no simultaneous melee + shot target
  • no simultaneous targets more than 3 spaces apart
  • no more than 2 consecutive 8th notes
  • no consecutive 8th notes on one hand
  • no other targets allowed during the duration of a chain
  • melees can't be faster than 1/4 note
  • targets that are less than a half note from each other cannot be more than 3 grid spaces apart
  • no hand crossing with simultaneous targets
  • no hand crossing with sustains
  • chains need at least 2 beats of lead-in time
  • chains need at least 2 beats of rest afterwards if next target is not also a chain
  • melees need at least 2 beats of rest afterwards if next target is not also a melee

Beginner warnings:

  • no chains
  • no melees
  • changing between hands need at least a measure of lead-in time
  • simultaneous targets need at least a measure of lead-in time
  • simultaneous targets need at least 2 beats of rest afterwards if next target is not also a simultaneous target
  • no more than 2 consecutive 1/4 notes (most targets should be on 1/2 notes)
  • no more than 3 grid spaces between ANY targets

Future iterations can have links with each error and warning that jump to the offending targets in editor.

Can't create audica file

It is currently not possible to create audica files with a German system locale (and probably other locales as well). The call to ffmpeg has to be made with a decimal point for the delay filter. Apparently, a localized call is made instead (German has a decimal comma), resulting in ffmpeg to fail:

Running ffmpeg with args -y -i "C:\Users\path\to\a\song.ogg" -af "adelay=1464,90683229814|1464,90683229814" -map 0:a "C:/Users/path/to/NotReaper-v1.1.3/NotReaper/NotReaper_Data/StreamingAssets\FFMPEG\output.ogg"

The above command gives a No such filter: '90683229814|1464' error in cmd. Replacing the decimal commas with decimal points converts the file as expected.

notreaper-stacktrace.txt

Delete has weird memory management behaviour

Delete + undo + redo does not delete and allows undo again (invalid state, multiple notes)

Causes null exception for any other redo actions with affectedTargets (redo adds from scratch - delete should maybe move to a temporary bucket or something...?)

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.