pouët.net

zTracker fork

category: music [glöplog]
 
Hi, are there any ztracker users left? I may give you a nice surprise if that's the case :-) A few minutes ago I have released a fork of ztracker, aptly named "zTracker prime" or "zTracker'". As it's name implies, it's a derivate of the original zTracker.

This fork is released as a homage to the original work of Chris Micali. I have been using zTracker nearly on a daily basis for the past 18 years. As the original project has remained untouched since 2002, at some point I started tinkering with the source code, at first to fix bugs and later to change how the program behaves.

Actually the source code has been sitting into github for a few years but I never bothered to upload an updated executable... So here it is :-)

Please be advised that I can't guarantee that this version works better for you than the original. My fork behaves nearly flawlessly for me and I like it better than the original. But in your case this could be a different history. It is a good idea to check the following list of changes to understand what this fork is about.

Program behavior changes:

- Zoom mode enables the program to work in 2x, 3x, 4x... So it's useable again on high resolution screens (fixed at 2x in this release).

- Many shortcuts have been modified to use ALT key instead of Control (selections, etc).

- Channel enable / disable controls work with F keys row instead of the numbers row.

- The first 16 instruments get that MIDI channel assigned instead of defaulting to 0.

- BPM/TPB changes are now applied in real-time while playing a song or pattern.

- Song play view shows more information per note.

- Starts in "Tracker Mode" by default.

- After playing a song or pattern the instrument editor shows used instruments with a small dot '·' on the left side.

- Playing the current row only plays non silenced channels.

- Cursor steps when playing the current note / row with '4' and '8' keys.

- Page Up/Down move the cursor 4 highlighted rows instead of fixed 16, making it useful when working in non 4/4 time measures.

- Default pattern size is 64 instead of 128.

- Program doesn't allow the user to set a resolution lower than 1024x700 and will increase the X, Y or both of them if necessary.

- Play view draws as many channels as it can fit within the horizontal resolution, instead of a fixed number of them.

- Load and Save screens now use all the available space to display their list entries, and have an improved X size.

- File requester didn't show .mid files; now it does.

- Many more.

Fixed bugs:

- Many memory bugs have been fixed (reading from uninitialized variables et al).

- Control + L to load and Control + S to save work again.

- Using F6 to play current pattern now works even if it's not included in the song order list.

- Scroll didn't move when playing individual notes and rows.

- Current pattern being edited didn't display correctly the row numbers if it had a different count than the default.

- Last line remained highlighted when play entered the current pattern then exited to another.

- You could use the numeric keypad '+' to advance the song position, but couldn't use the '-' to rewind it.

- Many, many more.

Removed things:

- Initial information screen has been removed.

- VUMeters can't be enabled. It's been broken forever, and I don't use it - Will reenable if / when it's fixed.

- 8 bit .png files are not supported anymore.

- Comments when exporting .mid files have been removed (I needed them to be as small as possible).

- The weird "Are you crazy" requester has been removed, substituted by just stopping the current song and loading the new one / fixing the bugs that hanged the program.

- Column size can't be changed.

- Full screen mode is disabled for now, because trying to set the weird resolutions possible with a window to full screen just doesn't work. Still, I like to work on full screen, so it's going to be fixed soon.

- There was a (too frequent) crash when loading a song from disk. It's now fixed.

Broken things:

- zt.conf configuration file needs to be edited by hand.

- Full screen mode doesn't work with the weird resolutions you can set on the windowed mode :-)

Other changes:

- The source code has been updated where needed to compile with modern C++.

- External libraries (zlib, libpng, SDL 1.2) are again up to date.

- zlib and libpng are now statically linked instead of using external .dll files.

- The (good old) Visual C++ 6.0 project and solution have been replaced by both Visual Studio 2008 and 2015 versions.

- Parts of the code have been cleaned, re-indented, commented and altered to suit my tastes. I sincerely hope this is not seen as a rude move at all. I needed to do it to understand what I was reading.

- Directory tree has been changed.

- Version number scheme and program name have been changed, too.

Future changes:

- I'm going to make this software work on OSX and Linux at some point.


I'm open to getting feedback and willing to fix bugs if you encounter them, although I can't make promises about when I'll be able to upload a new version; currently my real life is taking a lot of the time I can spend on non-work non-college projects :-)

As a small example, this was created with zTracker':

https://soundcloud.com/m6502/alarm-clock


That's all. I hope this is useful to someone :-)
added on the 2018-03-02 23:50:21 by Debvgger Debvgger
Oh, by the way. Here are the links :-)

Executable file (win32): https://github.com/m6502/ztrackerprime/releases/download/20180118/ztracker.20180118.win32.zip

Source code repository: https://github.com/m6502/ztrackerprime
added on the 2018-03-02 23:57:39 by Debvgger Debvgger

login