Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO: Software Requirements/Model #8

Open
Yuleblinker opened this issue Apr 28, 2017 · 1 comment
Open

TODO: Software Requirements/Model #8

Yuleblinker opened this issue Apr 28, 2017 · 1 comment

Comments

@Yuleblinker
Copy link
Member

Yuleblinker commented Apr 28, 2017

A first attempt at creating some software requirements for discussion

Required

Suggested

Nice to have

User can open/import a MIDI file

  • MIDI track can be displayed for verification
  • MIDI track can be transposed
  • MIDI track can be edited e.g notes moved, added, deleted
  • MIDI track can be played
Similar functionality to the this: Musicboxmaniacs Create
  • MIDI instrument can be chosen for playback

User can export to a file format suitable for laser cutting

  • User can define dimensions for:
    • Strip width
    • Note distance
    • Hole dimensions
  • User can indicate where to cut/join strips
  • User can select location for file export
  • User can choose between different strip types e.g 15, 20, 30 notes (other)
  • User can choose different file formats
    • DXF
    • SVG
    • PDF
    • Image
    • GCode
@JonesyLeo
Copy link

JonesyLeo commented Apr 28, 2017

Terrific!

The super-first attempt could be a midi file with only one track, with 3 notes, like C, D, E.

In the beginning we can see in plain text on the web page:

  • the midi events and the note of these events (MIDI have 2 events per note, one when the note starts, and one when the note ends) [we will only use the event "note start", since the music box doesn't have a note duration ^_^ ]
  • the timestamp of these events (when they happens in the "timeline")

then...

  • with a graphic library (i think SVG could be a good first attempt, 'cause is well supported by browsers) put some circle inside a rectangle, on the screen!

🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants