Offline

I'm pretty much swamped in suggestions and bugs etc. so it probably takes a good while until something (even small things) gets implemented. Especially, if something is related to the user interface (ugh) instead of, say, implementing FM (cool). That is not to say anything gets totally ignored. Though, since I work on klystrack as a hobby, I want to keep the cool stuff/tedious chores ratio as good as possible.

I think you need to vote which features get top priority!

Last edited by kometbomb (Mar 24, 2013 6:23 pm)

Offline
Solar System

We need to do CROWDFUNDING for Kometbomb to have Klystrack as full time job big_smile.
I will send Him 5Euro smile. Who will join???

Last edited by Matej (Mar 24, 2013 10:17 pm)

Offline
Tokyo, Japan

I'd be happy to throw in some dev money! You have a Paypal?

Offline
Montreal, Canada

Already suggested that... didn't happen smile

Anybody else here is a decent coder? The whole thing is downloadable and just needs someone to put time in it to clean it up, merge the bits of the framework that are actually used into the main codebase so you don't have to compile 82 things to make it work, and start commenting the code so others can participate. I'd be more than willing to throw money at it if I knew the software was going to be supported on a more regular basis.

Offline
Psydney, Australia

Are there critical bugs with the program?

Offline
Montreal, Canada

Critical as in showstopper, no not really.

But there's a lot of little problems with the editing flow and a ton of grievances with the sound. I think part of the problem is the intention to keep Klystrack oldschoolier-than-thou with super low resolution settings, low-impact replay routines and small-size files. IMO it should be thought of as a music software first and not a demoscene utility.

In any case, here's my list of bugs and suggestions:

Bugs/Grievances:
- CTRL-DEL on a pattern while the song plays doesn't just delete the pattern data, it stops the song and places you back at the top of the sequence for no reason.
- Sometimes Loop From Current position just stops working and just plays the last row in a pattern in a loop instead of the whole pattern.
- Cannot copy the 64th row of a pattern in the buffer
- Sometimes the envelopes stop working properly if an instrument plays for too long and you get clicks everywhere instead of smooth fade-to-0
- Metal Sync noise is out of pitch with other oscillators and there's no fine tuning to bring it back in place, making it unusable for melodies.
- Waves (loaded or generated) are about 700 times louder than the oscillators, making them almost impossible to mix in. The volume control offered in the wave editor has two presets: way the fuck too loud at 100%, and way the fuck too loud at 25%.
- No protracker-style delete in the sequence editor constantly shifts your song's structure. (yes I know.. there's another button to do that.. but I don't see the reason why delete should act like that when backspace does pretty much the same)
- Cannot cycle around in the sequence editor, so if you're on channel 12 and you wanna go back to 1, you have to press left (or shift-tab in my case) 24 times in AHX edit mode.
- Cannot use copy/paste across channels either in the pattern or sequence editor. It would be nice to be able to select a nice block that spans more than one channel instead of copy/pasting the same block in each.
- MIDI note off messages trigger the note again so you play each note twice when using a midi controller


Suggestions I think are easy to implement:
- Extended CTR-K/CTRL-U functionalities would be appreciated, like clone all channels, or insert new patterns across all channels.
- Need zap functions to neatly delete unused patterns, or just kill all instruments, or all pattern data etc.
- Make it possible to name, and save/load FX presets
- Put KILL buttons inside the inst/wave editor interfaces instead of having them way the hell up there in the menu
- Independent noise pitch to be able to mix 'thin' noise in bass instrument. At the moment its only possible when mixing it in with a wave and it's not quite possible to get a clear oscillator (except a sine that's too loud) in the wave editor.
- Include all possible oscillator shapes in the wave generator.
- A song timer
- Highlight currently selected instrument in the patterns to quickly locate where an instrument is used.


Suggestions that I know most of the code is already there, but would definitely require more work:
- Dynamic pitch/volume adjustment in the wave editor (select target pitch/volume, and press apply)
- Filter functions in the wave editor to permanently apply filtering to a wave

Suggestions that most likely require a lot of work:
- A Live screen where the you can set up tempo-synced mutes/unmutes, loop/unloop to be able to play around with the tracks in a live environement.
- Wav export channels so people can route different instrument to different channels so you can export stuff independently and mix/master the results in a DAW.
- FM synthesis, something like Genesis-level of FM (4ops I think?) would be enough. No need to go all DX1 there.
- Distortion / Waveshaper unit in the FX section
- At least two more FX bus
- Rework the chorus because it adds a LOT of clicking noise to a sound, also separate depth mod and pitch mod.
- Proper midi support for input and output so I don't get a week of lag with my midi controller, and so people can use KT as sequencer for external machines. Maybe look into ASIO to reduce the buffer to a more usable size.
- Add separate panning positions for every tap in the reverb/delay unit

Essential you-should-listen-to-n00bstar-because-of-reasons stuff:
- Clean the code, comment it, make it run off a single codebase, and make it easier for other coders to come in and participate.
- Make a proper website to showcase the software, with a paypal button, and a community voting system on what needs to be fixed/implemented next.

I know I'm asking for a whole damn lot. But IMO this would take Klystrack out of the weird place it is right now,being mostly unheard of by most chip artists, and place it riiiiight at the top of the list for people who want a serious complete chiptracker that has the perfect balance between having all the functionalities you could want, without having it become yet another stupid semi-daw modular-ish vst-something-or-other software.

And now you know why Kometbomb probably sacrifices a kitten to the dark gods every night in the hope I die a horrible fiery death.

Offline

BTW, what do you guys think about changing stuff like POKEY tuning etc. since that changes how an older song will sound like? There's tons of stuff I feel is silly to keep backwards compatible and I would just like to fix and go forward. Also, there's the fact other people than me use the software, so I can't just go "I can live with the change". Or, a recent issue I have now under construction is that the wavetable is too loud and I would just like to change the synth so it outputs at the same volume, meaning old tunes will probably distort and the waves will be too quiet. AND I would like not to include even more conditional backwards compatibility in the player routine.

Offline
Tokyo, Japan

Dooooo it!

Offline
Montreal, Canada

Personally I'm always for progress. There's always the possibility to download older versions of the software to play old songs.

But, maybe it's time to branch off entirely? Take 1.6 r1219, call it Klystrack Classic, and start working on a semi-new project called Klystrack Pro? That could make a clear cut between the old and the new. Take the best bits of the current code, and drop everything else you feel is holding you back. No concern for backwards compatibility at all. Think your stuff through for future proofing as much as you can and move on. I mean klystrack is what now.. 5 years old? I'm sure you've grown a lot as a coder since you first started it, so if you could pull off klystrack then, imagine what a kind-of-fresh start would mean.

Offline
Tokyo, Japan

Yeeeesssss!

Offline

Though, I'd really like to keep everything tiny and fast since I originally made the whole thing for being used as a sound effects/game music engine for this game I'm still trying to finish, so I would rather not make it too heavy. And keeping two separate projects would be a bit too much. I also don't know what is the expected end result since there already are much more robust trackers with support for VST, makes little sense to me to do the exact same thing as everyone else.

I started writing first parts of the code (though I guess on conceptual level only) in 2008, so 5 years this autumn. smile

Offline

So, I sat down and coded a bit today.

n00bstar wrote:

- Cannot copy the 64th row of a pattern in the buffer

If you use keyboard, just do shift-down when you have selected 0..62, then it selects the last row also. This has worked this way since forever so maybe you have some weird case where it simply doesn't do it. Check it out.

- Waves (loaded or generated) are about 700 times louder than the oscillators, making them almost impossible to mix in. The volume control offered in the wave editor has two presets: way the fuck too loud at 100%, and way the fuck too loud at 25%.

Fixed! Lots of distortion now that the oscillators output at full 16-bit range. Old songs will sound weird due to the distortion and also because wavetable is much quieter.

- Cannot cycle around in the sequence editor, so if you're on channel 12 and you wanna go back to 1, you have to press left (or shift-tab in my case) 24 times in AHX edit mode.

This was fixed a few nightlies ago! Just move left in channel 0 to go to the last channel.

Bonus: multikey keyjamming, i.e. you can play chords by pressing down multiple keys. Also, releasing the key triggers instrument release as well. Maybe still buggy and the wavetable view doesn't support this yet.

Offline
Montreal, Canada
kometbomb wrote:
n00bstar wrote:

- Cannot copy the 64th row of a pattern in the buffer

If you use keyboard, just do shift-down when you have selected 0..62, then it selects the last row also. This has worked this way since forever so maybe you have some weird case where it simply doesn't do it. Check it out.

Works fine now, but up to r1219 it didn't work for me for some reasons. I tested on two computers and it was the same on both, strangely.

kometbomb wrote:
n00bstar wrote:

- Waves (loaded or generated) are about 700 times louder than the oscillators, making them almost impossible to mix in. The volume control offered in the wave editor has two presets: way the fuck too loud at 100%, and way the fuck too loud at 25%.

Fixed! Lots of distortion now that the oscillators output at full 16-bit range. Old songs will sound weird due to the distortion and also because wavetable is much quieter.

It is indeed the same volume now, but I am not convinced this was the right way to go however. I made a few quick tests and any two instruments (or two notes of the same instrument) at default volume played at the same time will distort. Using a full volume wave + oscillator in the same instrument will distort. And using just a single oscillator in an instrument with a volume above 80 will also distort, get really noticeable around D0.

It's kind of fun to be able to explore distortion right from the instrument, but in terms of constructing songs it means that for every new channel added you need to edit every instrument's volume down a good notch to avoid distortion, or bring down the master volume of the song. In the end, since that distortion is based solely on sheer volume output, it's not possible to use it as an effect and mix distorted and non distorted sounds together.

The added distortion also changes the nature of the filter a lot. A fully high passed (7FF) noise at default volume (80) for example doesn't "fade" like it should, it enters this noisy weird place where low freqs creep back in the sound because of the distortion. Really noticeable on sweeps.

Overall, I think the best way to go about this would be to bring down the wave volume to what oscillators used to be. Because those waves had all of the aforementioned distortion problems in the first place. It's simply too loud and doesn't sum properly in the mix stage. If you do bring the volume down, I would suggest limiting how loud a wave can be to the same as an oscillator, and do a vertical zoom on the waveform in the editor, otherwise it's much much too small to free hand edit them.

So yeah. I'd revert that change and just tweak the waves instead. hmm


kometbomb wrote:
n00bstar wrote:

- Cannot cycle around in the sequence editor, so if you're on channel 12 and you wanna go back to 1, you have to press left (or shift-tab in my case) 24 times in AHX edit mode.

This was fixed a few nightlies ago! Just move left in channel 0 to go to the last channel.

Woots!

kometbomb wrote:

Bonus: multikey keyjamming, i.e. you can play chords by pressing down multiple keys.

Yay!

kometbomb wrote:

Also, releasing the key triggers instrument release as well. Maybe still buggy and the wavetable view doesn't support this yet.

This should probably be a toggle option IMO. It can be useful in a lot of cases, but for any instrument that doesn't use a release phase, simply a decay. it makes it impossible to properly jam with them and hear what they'd sound like in the song (where they wouldn't be any note-off events) unless you hold every key down.

Offline
Solar System

@Kometbomb -> Keep opensource Klystrack for free. And in future (huge changes - like FM) build into Klystrack Pro for 7Euro for example. So you will have 700Euro from 100 downloads. Or 7000Euro from 1000 downloads... So you will be motivated more. And have money resources and more time for K-Track project.
POKEY - please keep Pokey as original as possible, based on Pokey soundchip architecture (Pokey gots only one filter - high pass filter). No artificial filters please.

Offline

Right, I'll just add a fixed 25 % volume thingy in the main mixer loop so it should be the same volume as before but with the wavetable in check. More new stuff tomorrow, probably!

Offline
Montreal, Canada

Volume thingies! So that's how they're called. Damn technical terms. But yeah, a 25% mix should keep the waves balanced and the distortion out in one fix.

Also, about branching. I don't think you'd really have to maintain two projects. Classic klystrack would become pretty dormant. I mean, it's in a very usable state, only very rarely crashes, and is pretty much a complete package as it is. You'd only really need to come back to it if someone discovers a major showstopping bug. Branching off into a Pro version would enable you to not worry about backwards compatibility at all and change entire sections.

As for Klystron... I think the way Klystrack is right now, it's perfectly suited for the game. You probably won't use half of what Klystrack is capable of for the game so why worry about it? Use classic klystrack there, and branch off! smile

BRANCH OFF!

And yes. Sell the software. If LSDJ can be sold to, and used by hundreds of people, I'm sure Klystrack can reach the same goals. Anything between 5 to 10 USD is entirely reasonable and would give direct motivation to spend time on it. Hell most people spend more than that on beer on any given day of the week.

Also.. BRANCH OFF.

smile