English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 07 August 2010, 10:11   #1
8bitbubsy
Registered User

8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Age: 28
Posts: 1,255
Send a message via MSN to 8bitbubsy
Smile [PROJECT] ProTracker v2.3D clone for modern platforms

ProTracker V2.3D clone for modern platforms



I've been working on this since late 2009, and I'm still working on it every now and then... It's soon finished, which means that everything (almost) and more is implemented.


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?
- A WAV sample loader/saver with support for loops/name/volume chunk attributes from sampler exported WAVs (or from OpenMPT)
- *proper* STK (The Ultimate Soundtracker) loader (effects/sample loop types)
- Loading of PowerPacker'd MODs (this was in PT too I guess, but I list it anyways)
- Full bug-free support for 128kB samples (many tracker UI functions in Amiga PT crapped out when ran on >64kB samples)
- 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, OS X (PPC and Intel) here:
http://16-bits.org/pt.php

http://sourceforge.net/projects/protracker/
( for GNU/Linux, check http://sourceforge.net/p/protracker/.../compiling.txt )


No stuff like mixing interpolation or volume ramping used. 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).

Last edited by 8bitbubsy; 28 January 2016 at 15:19.
8bitbubsy is offline  
AdSense AdSense  
Old 12 August 2010, 15:48   #2
spoUP
Registered User
 
Join Date: Dec 2002
Location: sweden
Age: 40
Posts: 331
sweet! keep it up!
spoUP is offline  
Old 13 August 2010, 17:26   #3
Djay
breakpointUK.com

Djay's Avatar
 
Join Date: May 2001
Location: Founders System
Age: 42
Posts: 3,089
Send a message via MSN to Djay
yeah great project keep it up! missed Protracker when i downgraded to PC
Djay is offline  
Old 30 August 2010, 04:16   #4
spoUP
Registered User
 
Join Date: Dec 2002
Location: sweden
Age: 40
Posts: 331
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
spoUP is offline  
Old 30 August 2010, 04:50   #5
8bitbubsy
Registered User

8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Age: 28
Posts: 1,255
Send a message via MSN to 8bitbubsy
Quote:
Originally Posted by spoUP View Post
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)


Last edited by 8bitbubsy; 31 August 2010 at 05:16.
8bitbubsy is offline  
Old 30 August 2010, 11:33   #6
ppill
CON: artist
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 37
Posts: 1,158
Send a message via Skype™ to ppill
Great work! Keep it up!
ppill is offline  
Old 30 August 2010, 20:01   #7
spoUP
Registered User
 
Join Date: Dec 2002
Location: sweden
Age: 40
Posts: 331
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 is offline  
Old 30 August 2010, 20:08   #8
spoUP
Registered User
 
Join Date: Dec 2002
Location: sweden
Age: 40
Posts: 331
also the quadrascopes are to tall, they draw outside their "windows".
spoUP is offline  
Old 30 August 2010, 20:59   #9
8bitbubsy
Registered User

8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Age: 28
Posts: 1,255
Send a message via MSN to 8bitbubsy
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

Last edited by 8bitbubsy; 30 August 2010 at 21:40.
8bitbubsy is offline  
Old 30 August 2010, 21:40   #10
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,065
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.
Leffmann is offline  
Old 03 September 2010, 18:50   #11
hitchhikr
Registered User

 
Join Date: Jun 2008
Location: somewhere
Posts: 362
msvcr100.dll not found.
hitchhikr is offline  
Old 04 September 2010, 01:16   #12
Asle
Registered User
 
Join Date: May 2006
Location: Paris/France
Age: 46
Posts: 411
Won't start, here. No understandable error message, like the application wasn't installed correctly.
Running Win XP.
Asle is offline  
Old 04 September 2010, 02:48   #13
8bitbubsy
Registered User

8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Age: 28
Posts: 1,255
Send a message via MSN to 8bitbubsy
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
8bitbubsy is offline  
Old 04 September 2010, 08:16   #14
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 20,871
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)
Toni Wilen is offline  
Old 04 September 2010, 10:59   #15
8bitbubsy
Registered User

8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Age: 28
Posts: 1,255
Send a message via MSN to 8bitbubsy
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.
8bitbubsy is offline  
Old 04 September 2010, 12:37   #16
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 20,871
Quote:
Originally Posted by 8bitbubsy View Post
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
Toni Wilen is offline  
Old 15 September 2010, 18:48   #17
korruptor
TDI
korruptor's Avatar
 
Join Date: Feb 2007
Location: DUNDEE
Posts: 122
I might be able to help with DISKOP on Mac. Give us a shout if so
korruptor is offline  
Old 16 September 2010, 12:07   #18
Asle
Registered User
 
Join Date: May 2006
Location: Paris/France
Age: 46
Posts: 411
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
Asle is offline  
Old 17 September 2010, 08:55   #19
8bitbubsy
Registered User

8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Age: 28
Posts: 1,255
Send a message via MSN to 8bitbubsy
Quote:
Originally Posted by Asle View Post
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.

Last edited by 8bitbubsy; 06 April 2011 at 17:05.
8bitbubsy is offline  
Old 18 September 2010, 01:33   #20
nooly
 
Posts: n/a
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.?
 
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
SDL problem. tolkien Coders. C/C++ 10 24 March 2015 03:29
XAMOS - new cross-platform rewrite of jAMOS Mequa News 24 14 December 2012 09:49
use SDL 1.2.13 with AmyDevCpp TheDarkCoder Coders. General 3 18 August 2009 20:55
WinUAE w/SDL mangamuscle request.UAE Wishlist 8 31 January 2007 11:41
What do you know about Amiga SDL? Tolismlf Amiga scene 6 15 November 2004 18:54

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 23:32.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Page generated in 0.25542 seconds with 12 queries