dock: Anything that registers as a MIDI device should work for input. It's up to the drivers, not the connection standard. Of course I'm talking about running natively in Windows here, I can make no guarantees if you're using any kind of emulator/ish like wine or whatever.
There was basic MIDI export at some point, but maybe I removed that due to bugs... it wasn't useful for continued editing in other applications as all timing was basically dropped. It just stored all the note triggers with millisecond timing as they were encountered during playback, so you got a .mid file that played back decently in winamp but looked rather horrible in an editor. I imagine that proper export could be implemented without unreasonable effort, but it might be a while before I get to it. I already have at least one other person asking for it though, so it will move up the priority list as long as people request it.
First off, this is one of the coolest programs I have seen in quite some time! ;D Most of the other features I would like to see, have already been expressed, but I think this one would be nice too.
When you create a note, have it remember the length, velocity, etc of the last note you played, so as soon as you place the next note down, you will have a note of the exact same length, velocity, etc ready to be arranged. (e.g. A whole note at 80% velocity just placed, should give me the same exact note and velocity after I set it down.)
OK, I lied... there is a couple other features I would like to see in Musagi... Any ways, here we go!
1. The ability to select multiple notes and be able to copy, delete, move, etc them around. 2. Select a note length. (32nd, 16th, 8th, Quarter, Half, Whole) 3. Simple arpeggios and scales. Can start at the top, bottom, bottom to top, top to bottom, ping-pong. Able to choose the speed of them too, but note length. 4. A VSTi for each of the components or for the whole thing!
Addie: Remembering note length/velocity - I agree that it would make things more convenient, just needs some thought to make it work seamlessly with other things you might want to do (and not get in the way)
Select multiple notes - hold shift and click-drag. Then use Ctrl+C/V to copy/paste or Delete to erase them all.
What do you mean select a note length? Like a fixed one to be used for a whole part? This seems redundant if I make it remember the last one used. You have horizontal divisions to help judge note length.
Arpeggio help... well, there are automatic arpeggios but they only go up (play several notes at once using a mono instrument). I suppose there could be some way to specify the order in which they will play, but the implementation is not obvious from an interface perspective.
Musagi VSTi - probably not. Probably wouldn't be much work though, putting all the instruments into one package with program select to choose between them... if I get really really bored some day perhaps
Sweet! I'm going to have to play around with selecting multiple notes! (Probably in the manual, just skimmed over it )
As for selecting a note length, like a ComboBox/ListBox or something like that, you can pick a note type (32nd, 16th, 8th, quarter, half, whole) and boom! You get that note. It's is like remembering the note, but instead of dragging it out to make the note. It's a minor convenience thing.
As far as a VSTi goes, I realize it's very, very low on the priority listing. It is one of those (yet again) minor convenience things!
I appreciate you responding back! Have a good one!
Could you possibly tweak the scrollbars on the main window?
The way it works at the moment it's way too sensitive. If I have a song that just barely goes off the edge it's nearly impossible to centre it, as dragging the scrollbars scoots the view way too far.
Perhaps a system where the scrollbar changes depending on how much of a song there is already, adding a few extra bars on the end for working space? Single-step scroll buttons would also be much appreciated, perhaps scrolling bar by bar.
wow, this little program is great, i'm using this instead of fl studio for my game music now, thanks for making this free
now for suggestions:
midi import please, i have a ton of melodies i want to bring across from fl studio
perhaps when you hover the mouse over a note it will show what that note is like D4 or G#3, with very long patterns its annoying to keep having to look back at the far left of the screen to see what the note is, i know theres that red line that shows up across the whole note but still, just a minor thing for convenience
scale detection, something i used to have in fl studio that was always very useful
but once again, thanks for this little program, it's awesome, it's got enough instruments to keep me busy and its so simple to use, thanks, keep up the good work
First off, thanks for making such a cool program. One thing I realized that could make it even cooler would be to include a way to visualize the pitch of the notes like in the Music Animation Machine MIDI Player. having the notes colored by their pitch like in the piano roll mode of that program would make it easier to see which notes are an octave above each other, and may help with setting things up in specific keys. Now that you provided the source code (thanks again), it would be possible for me to experiment with this, although I'm pretty rusty with C++. Do you think this feature addition would be feasible, and if so, do you think it would be something you'd want to add?
metamere: It sounds like the kind of thing I have planned for musagi 2... so I'd rather do it from the ground up than try to squeeze it into the existing musagi interface somehow. Musagi currently doesn't have any concept of "key", so the only simple way to color notes would be by octave from C-1 or something. Beyond that, you would need to specify which key/scale you're using at each given point in the song.
Also, using more than 2-3 colors will break the visual aesthetics. I'd rather split the background area into vertical sections (maybe alternating between two colors to separate areas without introducing a large palette).
Alright, here I am in the proper threads for this...
XNES: - AntiAliasing option (toogle button) - SAW wave additional or replacing second sqr (?!) CHIP: - grid behind waveform in CHIP - preset waveforms (saw | sqr | tri | sin | rnd | clr ) - buttons toogle doubling frequencies (example: one click on saw draws one saw into frame, second click two at half length, third draws four at quarter (subdividing))
I'm pretty sure it's nearly impossible to make decent antialiasing for chip unless expanded interpolation and than reducing it, but that sounds to me a bit heavy to process, I think. However, the fixed waveforms of the XNES are predestined to be antialiased. Routines read a little cryptic at first, but are very comfortable to implement. Not that much more processing involved either.
SAW example (all floats, of course, hoping that this could be worked into your system?!):
dphase = pitch; //you most likely have to adjust the pitch to your method! I have it *0.02 sphase += dphase; if (sphase>1.0) sphase -=2.0; aw0=sphase*(7.0/360.0 + sphase*sphase*(-1.0/36.0 + sphase*sphase*(1.0/120))); ax0=aw1-aw0; ay0=ax1-ax0; az0=ay1-ay0; sort=az1-az0; compensate = 1.0/pow(dphase,4);
taron: xnes already has antialiasing/subsample precision for all its waveforms, as far as I can remember. You could record a snippet and inspect the wave output in a sound editor if you want to see what it looks like. It does break for the square channels if you turn the duty cycle way up and/or play insanely bright notes.
Chip interpolates between samples if you play it at a low enough frequency, and at any frequency it sums and filters samples with linear interpolation, so it should be "pretty smooth". No stepping. Each pixel in the window is one sample point in the waveform, I'm pretty sure.
Your saw code looks completely incomprehensible. Is there a specific waveform shape you're looking for? Something other than the traditional triangular ramp? A picture would be worth more than a thousand lines of code
As for preset waveforms, I'd rather have a button that pulls out a popup menu you can select waves from. That would make the interface much less cluttered. Also, subdividing the waveform would probably be better handled through a separate button that simply shrinks+repeats the current wave twice. That would work with any content.