Giter VIP home page Giter VIP logo

mozak's People

Contributors

clydeshaffer avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

mozak's Issues

include tempo in save/load operation

really just add a struct for song-wide options, like tempo, time sig, etc...

then add this to save_song and load_song

(this will invalidate existing files)

create song.h, song.c

and move save_song(), load_song() into it as well as functions to simplify forward playback in the context of a game engine, so song.h (and .c) can be imported to a game engine to play Mozak tracks in the game

save before exit confirmation

add a QUITCONFIRM_MODE that waits for either the Y or N key

render_quitconfirm() should just draw a box/window in the middle of the screen with the text

SAVE FILENAME.MZ? (Y/N)

"notes" that change instrument settings

maybe see about making the first byte of the note struct "instrument_change", then adding whatever padding is needed to make instrument settings fit into the rest of sizeof(note)

simple to account for this in forward playback, but in compose mode the editor will have to scan for the more recent instrument change prior to cursor_beat whenever the cursor is moved

note duration

-add duration to rendering of notes in render_piano roll
-take duration into account when playing notes (array of 10 ints counting down steps until Key_Off per channel)

mouse support

it sure would be something.

i guess it could work by grabbing mouse.h/.c from BMPEDIT and using it to move the compose mode cursor, though i'd want to make render_piano_roll more efficient (or at least make a version that redraws the cursor while leaving everything else in place)

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.