English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   Coders. General (http://eab.abime.net/forumdisplay.php?f=37)
-   -   [PROJECT] ProTracker v2.3D clone for modern platforms (http://eab.abime.net/showthread.php?t=54323)

8bitbubsy 07 August 2010 11:11

[PROJECT] ProTracker 2 (v2.3D) clone for modern platforms
 
ProTracker 2 (v2.3D) clone for modern platforms

https://16-bits.org/pt-clone.png

What's missing and won't be implemented?
- Setup screen (use protracker.ini)
- MIDI support
- Split keys (usually for MIDI situations)

What's added that wasn't originally in ProTracker 2.3D?
- A WAV sample loader/saver with support for loops/name/volume chunk attributes from sampler exported WAVs (or from OpenMPT)
- Better "Ultimate Soundtracker" importer (effects/sample loop types)
- More keyboard keys handled (e.g. HOME/END/PAGE UP/PAGE DOWN in several things, CTRL+S for quick-saving)
- Sample restore function (press CTRL+Z when the sampler is open to revert the sample data + attributes to that of when it was loaded)
- MOD2WAV for exporting the song to .WAV (with switchable filters, hard pan and band-limited steps for Amiga-ish sound)
- PAT2SMP for rendering the current pattern to a sample (for making drumloops etc)
- Sample hand editing tool (for drawing chiptune styled samples or fixing clicks in samples, etc)
(read help.txt in the zip for more in-depth information about the new stuff)

There's also a PT.Config-xx loader, just put f.ex. PT.Config-00 in the same directory and it will override the settings from protracker.ini and use the config color palette.

There are compiled versions for Windows and macOS here:
https://16-bits.org/pt2.php

100% stereo separation is optional (SHIFT+F12 or change separation in ini file).
This program uses a ~5kHz low-pass (optional Amiga 500 mode, toggle with F12 or in ini file) filter, ~4.2Hz high-pass filter and band-limited step (BLEP) synthesis to reduce some aliasing like on the sound on Amiga.
This is how ProTracker modules should be played on a non-Amiga system. The sound is very close to a real Amiga 1200 (or Amiga 500 when A500 filter model is used).

spoUP 12 August 2010 16:48

sweet! keep it up!

Djay 13 August 2010 18:26

yeah great project keep it up! missed Protracker when i downgraded to PC

spoUP 30 August 2010 05:16

Hey, i tried building it but i got this error:

pt_audio.c:173:62: error: invalid suffix "-0x10" on integer constant
pt_audio.c:177:62: error: invalid suffix "-0x10" on integer constant

8bitbubsy 30 August 2010 05:50

Quote:

Originally Posted by spoUP (Post 696081)
Hey, i tried building it but i got this error:

pt_audio.c:173:62: error: invalid suffix "-0x10" on integer constant
pt_audio.c:177:62: error: invalid suffix "-0x10" on integer constant

Fixed. Change to #define DENORMAL_OFFSET 1E-10f

(or redownload the src)

:)

ppill 30 August 2010 12:33

Great work! Keep it up!

spoUP 30 August 2010 21:01

allright, i got a build that runs now, but the audio is VERY noisy. This is on a big endian PPC machine, endian problems?

spoUP 30 August 2010 21:08

also the quadrascopes are to tall, they draw outside their "windows".

8bitbubsy 30 August 2010 21:59

Hum... Let me check into that, give me a moment. Probably a bit manipulation issue.

EDIT:

For the quadrascopes, on line 29 in "pt_visuals.c" change:
_y += ((~v[i].data[fracPos] * (v[i].vol >> 1)) >> 8);
to:
_y += ((~v[i].data[fracPos] * (v[i].vol / 2)) / 256);

The C compilers should do bitshifting according to its endianness, but maybe they don't. I have more to learn on that point!
See if it helps. If it does, I have a lot of code to change!

Regarding the noisy sound in your build: The audio samples get divided by 128 before output, but on your side they might get multiplied with 128 :laughing

Leffmann 30 August 2010 22:40

Those two lines of code are not the same, but not because of differences in endianess. Endianess doesn't affect the results of the << and >> operators, it only dictates how basic datatypes are represented in memory, so the error has to be somewhere else.

Cool project btw.

hitchhikr 03 September 2010 19:50

msvcr100.dll not found.

Asle 04 September 2010 02:16

Won't start, here. No understandable error message, like the application wasn't installed correctly.
Running Win XP.

8bitbubsy 04 September 2010 03:48

For hitchhikr and Asle (try it anyways):
Quote:

Originally Posted by 8bitbubsy
If you get an error message saying "Can't find MSVCR100.DLL", then you need "Microsoft Visual C++ 2010 Redistributable Package (x86)":
http://www.microsoft.com/downloads/d...displaylang=en


Toni Wilen 04 September 2010 09:16

Quote:

If you get an error message saying "Can't find MSVCR100.DLL
IMHO it is better idea to enable static runtime library compilation setting, these "bug reports" never end (unless you include the runtime library redistributable package with the application). I have some experience :)

C/C++ -> Code Generation -> Runtime Library: Multi-threaded (/MT) (without "DLL" part)

8bitbubsy 04 September 2010 11:59

Toni, your method didn't solve it at all - but aciddose and I solved it. Got msvcrt90.lib from 2008, then I linked to it and chose "Ignore default libraries".
Binaries and source code updated.

Toni Wilen 04 September 2010 13:37

Quote:

Originally Posted by 8bitbubsy (Post 697340)
Toni, your method didn't solve it at all - but aciddose and I solved it. Got msvcrt90.lib from 2008, then I linked to it and chose "Ignore default libraries".
Binaries and source code updated.

It works with winuae but perhaps there are some other option(s) that also needs to be set. It is too boring to check and you already found a working solution :)

korruptor 15 September 2010 19:48

I might be able to help with DISKOP on Mac. Give us a shout if so :)

Asle 16 September 2010 13:07

Hey could make it work now ! Nice :)
I've played a (very) little with it to be very surprised by a replay mistake. Though, not being sure, I launched Protracker 1.3b (ftp://ftp.amigascne.org/pub/amiga/So...tracker13b.lha) and tried the same couple of modules with it. And I confirm the replay problem, being with sample number without note.
Please try "MOD.between 2 waters" by Doh or "MOD.back again" by 4-Mat in both version of PTK 1.3b. You'll hear the difference quickly, I'm sure.

To the question : what replay did you use ? I mean, did you resource PTK 1.3b ?
There's some weird stuff in these old trackers and while there's an overall compatibility with each version, there are quite a few differences between them. Old timer musicians could probably explain :)

Anyway, very good work, here. It's very nice to see again this old screen :)

Sylvain

8bitbubsy 17 September 2010 09:55

Quote:

Originally Posted by Asle (Post 700706)
Hey could make it work now ! Nice :)
I've played a (very) little with it to be very surprised by a replay mistake. Though, not being sure, I launched Protracker 1.3b (ftp://ftp.amigascne.org/pub/amiga/So...tracker13b.lha) and tried the same couple of modules with it. And I confirm the replay problem, being with sample number without note.
Please try "MOD.between 2 waters" by Doh or "MOD.back again" by 4-Mat in both version of PTK 1.3b. You'll hear the difference quickly, I'm sure.

To the question : what replay did you use ? I mean, did you resource PTK 1.3b ?
There's some weird stuff in these old trackers and while there's an overall compatibility with each version, there are quite a few differences between them. Old timer musicians could probably explain :)

Anyway, very good work, here. It's very nice to see again this old screen :)

Sylvain

EDIT: I tested the PT1.3 you linked to in WinUAE with those two modules, and no I don't hear any difference. Are you 100% sure you didn't run PT2.x instead? :P I really don't hear any big difference, it does handle "sample with no note/period" like PT1.3B.

Actually, this is not a playback problem ;) It's a behavior in PT1.x vs PT2.x... In PT2.x, you don't play a sample without a note, but in PT1.x you do.. You see, I'm doing the PT1.x style. The replayer is coded by me and mukunda from scratch, and I've spent endless of hours making it as close to PT as possible (compatibility wise).. I'm sure there's some errors left to fix tho!

http://16-bits.org/ProTracker-win32-r26012011.zip
Please redownload to make sure you have the most recent revision.

nooly 18 September 2010 02:33

great job!

one thing I noticed is that protracker doesn't support samples longer than 64kb. I'm not sure if old protracker behaved like this but newer versions supported samples > 64kb. almost forgot, protracker failed to open rather obscure 15 samples MOD format.

if I'm getting this right, when it's done then protracker could be ported to platforms like android, maemo etc.?


All times are GMT +2. The time now is 22:01.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.

Page generated in 0.05872 seconds with 11 queries