Skip to content

Commit

Permalink
Pushed v1.23 code
Browse files Browse the repository at this point in the history
- PAT2SMP now has higher quality sound. Especially noticable in LO mode.
- PAT2SMP LO mode now uses 20864Hz (E-3 finetune 0) instead of 22168Hz
  (F-3 finetune +1) for slightly more room, and still has better quality
  than before because of the improvement above!
- The optional 2x downsample during sample load is now of better quality.
  Or it should be, at least...
- Fixed some bugs in the "sampling" screen (SAMPLER screen -> Sample)
- The sampling feature now takes up less CPU time while downsampling. Also
  fixed a small error in the sinc resampling interpolation.
- Don't block GUI input and don't show red mouse pointer for a while every time
  you cancel a requester. No idea why PT did this in the first place, what a
  workflow limiter!
- Bugfix: Don't reset playback time counter on "play pattern"
- protracker.ini: "A500LOWPASSFILTER" has been replaced with "FILTERMODEL"
  (A1200 or A500). Removed NORMALIZESAMPLING and SAMPLELOWPASS (deprecated).
- Some other minor changes not worth of a mention
- Code cleanup
  • Loading branch information
8bitbubsy committed Sep 18, 2020
1 parent 02664d9 commit 7e106b7
Show file tree
Hide file tree
Showing 45 changed files with 1,996 additions and 2,195 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ vs2019_project/pt2-clone/Debug/pt2-clone.vcxproj.FileListAbsolute.txt
*.db-wal
*.db-shm
pt_pal_editor/vs2019_project/pt_pal_editor/Debug/pt_pal_editor.vcxproj.FileListAbsolute.txt
vs2019_project/pt2-clone/Release/pt2-clone-win64.exe.recipe
*.recipe
7 changes: 5 additions & 2 deletions release/help.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-d
* Is there a way to run the program in fullscreen mode?
- Press F11. On some keyboards/configurations you may need to press fn+F11.

* How can I toggle the audio type between Amiga 500 and Amiga 1200?
- Press F12. You can also change "FILTERMODEL" in protracker.ini.

* Alt+F5/ALT+F5 (copy/paste) doesn't work!
- Windows: you need to make sure those keybinding are disabled in
'GeForce Experience' if you have that software installed.
Expand Down Expand Up @@ -170,10 +173,10 @@ https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-d

- Quality mode: -
HI: 28604Hz - Play the new sample at note A-3 (finetune +4)
LO: 22168Hz - Play the new sample at note F-3 (finetune +1)
LO: 20864Hz - Play the new sample at note E-3 (finetune 0)

HI has the highest possible quality, but can only fit 2.29 seconds of audio.
LO is worse in quality, but can fit slightly more at 2.95 seconds.
LO is worse in quality, but can fit slightly more at 3.14 seconds.

You should use this feature in sequences to fit as much rows as you need.
F.ex. start from row 0 to row 23, then make another sample from row 24 to 47,
Expand Down
60 changes: 17 additions & 43 deletions release/macos/protracker.ini
Original file line number Diff line number Diff line change
Expand Up @@ -220,38 +220,15 @@ FREQUENCY=48000
;
SAMPLINGFREQ=44100

; Normalize sampled audio before converting to 8-bit
; Syntax: TRUE or FALSE
; Default value: TRUE
; Comment: This one is for the audio sampling feature in the SAMPLER
; screen. If it's set to TRUE, it will normalize the gain before it
; converts the sample to 8-bit in the end. This will preserve as much
; amplitude information as possible to lower quantization noise.
;
NORMALIZESAMPLING=TRUE

; Audio buffer size
; Syntax: Number, in samples
; Default value: 1024
; Comment: Ranges from 128 to 8192. Should be a number that is 2^n
; (128, 256, 512, 1024, 2048, 4096, 8192, ...). The number you input
; isn't necessarily the actual value the audio API decides to use.
; Lower means less audio latency but possible audio issues, higher
; means more audio latency but less chance for issues.
; Filter model (Amiga model)
; Syntax: A500 or A1200
; Default value: A1200
; Comment: Selects what kind of Amiga to simulate (lp/hp filters).
; A1200 has sharper sound but more aliasing, while A500 has more
; filtered (muddy) sound but less aliasing. The filter model can
; also be toggled by pressing F12 in the program.
;
BUFFERSIZE=1024

; Amiga 500 low-pass filter (not the "LED" filter)
; Syntax: TRUE or FALSE
; Default value: FALSE
; Comment: Enabling this will simulate the ~4421Hz 6dB/oct RC low-pass
; filter present in almost all Amigas. This will make the sound a bit
; muddier. On Amiga 1200, the cut-off is ~34kHz (sharper sound). This
; can also be toggled in the tracker by pressing F12. This must not be
; confused with the "LED" filter which can be toggled with the pattern
; command E0x.
;
A500LOWPASSFILTER=FALSE
FILTERMODEL=A1200

; Stereo separation
; Syntax: 0 to 100 (percent)
Expand All @@ -261,18 +238,15 @@ A500LOWPASSFILTER=FALSE
;
STEREOSEPARATION=20


; Low-pass samples before getting 2x downsampled during loading (if requested)
; Syntax: TRUE or FALSE
; Default value: TRUE
; Comment: Set to false if you want slightly sharper sound when loading
; samples that are 2x downsampled (if requested).
; Keep in mind that you might get more aliasing in the sound if you
; disable this, and certain sounds with a lot of treble might sound
; weird (f.ex. hi-hats and cymbals). If the sample you load have a
; frequency below 22kHz, it will never be downsampled (and thus this
; setting changes nothing). I recommend keeping this set to TRUE.
; Audio buffer size
; Syntax: Number, in unit of samples (not bytes)
; Default value: 1024
; Comment: Ranges from 128 to 8192. Should be a number that is 2^n
; (128, 256, 512, 1024, 2048, 4096, 8192, ...). The number you input
; isn't necessarily the actual value the audio API decides to use.
; Lower means less audio latency but possible audio issues, higher
; means more audio latency but less chance for issues.
;
SAMPLELOWPASS=TRUE
BUFFERSIZE=1024

; End of config file
60 changes: 17 additions & 43 deletions release/other/protracker.ini
Original file line number Diff line number Diff line change
Expand Up @@ -220,38 +220,15 @@ FREQUENCY=48000
;
SAMPLINGFREQ=44100

; Normalize sampled audio before converting to 8-bit
; Syntax: TRUE or FALSE
; Default value: TRUE
; Comment: This one is for the audio sampling feature in the SAMPLER
; screen. If it's set to TRUE, it will normalize the gain before it
; converts the sample to 8-bit in the end. This will preserve as much
; amplitude information as possible to lower quantization noise.
;
NORMALIZESAMPLING=TRUE

; Audio buffer size
; Syntax: Number, in samples
; Default value: 1024
; Comment: Ranges from 128 to 8192. Should be a number that is 2^n
; (128, 256, 512, 1024, 2048, 4096, 8192, ...). The number you input
; isn't necessarily the actual value the audio API decides to use.
; Lower means less audio latency but possible audio issues, higher
; means more audio latency but less chance for issues.
; Filter model (Amiga model)
; Syntax: A500 or A1200
; Default value: A1200
; Comment: Selects what kind of Amiga to simulate (lp/hp filters).
; A1200 has sharper sound but more aliasing, while A500 has more
; filtered (muddy) sound but less aliasing. The filter model can
; also be toggled by pressing F12 in the program.
;
BUFFERSIZE=1024

; Amiga 500 low-pass filter (not the "LED" filter)
; Syntax: TRUE or FALSE
; Default value: FALSE
; Comment: Enabling this will simulate the ~4421Hz 6dB/oct RC low-pass
; filter present in almost all Amigas. This will make the sound a bit
; muddier. On Amiga 1200, the cut-off is ~34kHz (sharper sound). This
; can also be toggled in the tracker by pressing F12. This must not be
; confused with the "LED" filter which can be toggled with the pattern
; command E0x.
;
A500LOWPASSFILTER=FALSE
FILTERMODEL=A1200

; Stereo separation
; Syntax: 0 to 100 (percent)
Expand All @@ -261,18 +238,15 @@ A500LOWPASSFILTER=FALSE
;
STEREOSEPARATION=20


; Low-pass samples before getting 2x downsampled during loading (if requested)
; Syntax: TRUE or FALSE
; Default value: TRUE
; Comment: Set to false if you want slightly sharper sound when loading
; samples that are 2x downsampled (if requested).
; Keep in mind that you might get more aliasing in the sound if you
; disable this, and certain sounds with a lot of treble might sound
; weird (f.ex. hi-hats and cymbals). If the sample you load have a
; frequency below 22kHz, it will never be downsampled (and thus this
; setting changes nothing). I recommend keeping this set to TRUE.
; Audio buffer size
; Syntax: Number, in unit of samples (not bytes)
; Default value: 1024
; Comment: Ranges from 128 to 8192. Should be a number that is 2^n
; (128, 256, 512, 1024, 2048, 4096, 8192, ...). The number you input
; isn't necessarily the actual value the audio API decides to use.
; Lower means less audio latency but possible audio issues, higher
; means more audio latency but less chance for issues.
;
SAMPLELOWPASS=TRUE
BUFFERSIZE=1024

; End of config file
60 changes: 17 additions & 43 deletions release/win32/protracker.ini
Original file line number Diff line number Diff line change
Expand Up @@ -220,38 +220,15 @@ FREQUENCY=48000
;
SAMPLINGFREQ=44100

; Normalize sampled audio before converting to 8-bit
; Syntax: TRUE or FALSE
; Default value: TRUE
; Comment: This one is for the audio sampling feature in the SAMPLER
; screen. If it's set to TRUE, it will normalize the gain before it
; converts the sample to 8-bit in the end. This will preserve as much
; amplitude information as possible to lower quantization noise.
;
NORMALIZESAMPLING=TRUE

; Audio buffer size
; Syntax: Number, in samples
; Default value: 1024
; Comment: Ranges from 128 to 8192. Should be a number that is 2^n
; (128, 256, 512, 1024, 2048, 4096, 8192, ...). The number you input
; isn't necessarily the actual value the audio API decides to use.
; Lower means less audio latency but possible audio issues, higher
; means more audio latency but less chance for issues.
; Filter model (Amiga model)
; Syntax: A500 or A1200
; Default value: A1200
; Comment: Selects what kind of Amiga to simulate (lp/hp filters).
; A1200 has sharper sound but more aliasing, while A500 has more
; filtered (muddy) sound but less aliasing. The filter model can
; also be toggled by pressing F12 in the program.
;
BUFFERSIZE=1024

; Amiga 500 low-pass filter (not the "LED" filter)
; Syntax: TRUE or FALSE
; Default value: FALSE
; Comment: Enabling this will simulate the ~4421Hz 6dB/oct RC low-pass
; filter present in almost all Amigas. This will make the sound a bit
; muddier. On Amiga 1200, the cut-off is ~34kHz (sharper sound). This
; can also be toggled in the tracker by pressing F12. This must not be
; confused with the "LED" filter which can be toggled with the pattern
; command E0x.
;
A500LOWPASSFILTER=FALSE
FILTERMODEL=A1200

; Stereo separation
; Syntax: 0 to 100 (percent)
Expand All @@ -261,18 +238,15 @@ A500LOWPASSFILTER=FALSE
;
STEREOSEPARATION=20


; Low-pass samples before getting 2x downsampled during loading (if requested)
; Syntax: TRUE or FALSE
; Default value: TRUE
; Comment: Set to false if you want slightly sharper sound when loading
; samples that are 2x downsampled (if requested).
; Keep in mind that you might get more aliasing in the sound if you
; disable this, and certain sounds with a lot of treble might sound
; weird (f.ex. hi-hats and cymbals). If the sample you load have a
; frequency below 22kHz, it will never be downsampled (and thus this
; setting changes nothing). I recommend keeping this set to TRUE.
; Audio buffer size
; Syntax: Number, in unit of samples (not bytes)
; Default value: 1024
; Comment: Ranges from 128 to 8192. Should be a number that is 2^n
; (128, 256, 512, 1024, 2048, 4096, 8192, ...). The number you input
; isn't necessarily the actual value the audio API decides to use.
; Lower means less audio latency but possible audio issues, higher
; means more audio latency but less chance for issues.
;
SAMPLELOWPASS=TRUE
BUFFERSIZE=1024

; End of config file
60 changes: 17 additions & 43 deletions release/win64/protracker.ini
Original file line number Diff line number Diff line change
Expand Up @@ -220,38 +220,15 @@ FREQUENCY=48000
;
SAMPLINGFREQ=44100

; Normalize sampled audio before converting to 8-bit
; Syntax: TRUE or FALSE
; Default value: TRUE
; Comment: This one is for the audio sampling feature in the SAMPLER
; screen. If it's set to TRUE, it will normalize the gain before it
; converts the sample to 8-bit in the end. This will preserve as much
; amplitude information as possible to lower quantization noise.
;
NORMALIZESAMPLING=TRUE

; Audio buffer size
; Syntax: Number, in samples
; Default value: 1024
; Comment: Ranges from 128 to 8192. Should be a number that is 2^n
; (128, 256, 512, 1024, 2048, 4096, 8192, ...). The number you input
; isn't necessarily the actual value the audio API decides to use.
; Lower means less audio latency but possible audio issues, higher
; means more audio latency but less chance for issues.
; Filter model (Amiga model)
; Syntax: A500 or A1200
; Default value: A1200
; Comment: Selects what kind of Amiga to simulate (lp/hp filters).
; A1200 has sharper sound but more aliasing, while A500 has more
; filtered (muddy) sound but less aliasing. The filter model can
; also be toggled by pressing F12 in the program.
;
BUFFERSIZE=1024

; Amiga 500 low-pass filter (not the "LED" filter)
; Syntax: TRUE or FALSE
; Default value: FALSE
; Comment: Enabling this will simulate the ~4421Hz 6dB/oct RC low-pass
; filter present in almost all Amigas. This will make the sound a bit
; muddier. On Amiga 1200, the cut-off is ~34kHz (sharper sound). This
; can also be toggled in the tracker by pressing F12. This must not be
; confused with the "LED" filter which can be toggled with the pattern
; command E0x.
;
A500LOWPASSFILTER=FALSE
FILTERMODEL=A1200

; Stereo separation
; Syntax: 0 to 100 (percent)
Expand All @@ -261,18 +238,15 @@ A500LOWPASSFILTER=FALSE
;
STEREOSEPARATION=20


; Low-pass samples before getting 2x downsampled during loading (if requested)
; Syntax: TRUE or FALSE
; Default value: TRUE
; Comment: Set to false if you want slightly sharper sound when loading
; samples that are 2x downsampled (if requested).
; Keep in mind that you might get more aliasing in the sound if you
; disable this, and certain sounds with a lot of treble might sound
; weird (f.ex. hi-hats and cymbals). If the sample you load have a
; frequency below 22kHz, it will never be downsampled (and thus this
; setting changes nothing). I recommend keeping this set to TRUE.
; Audio buffer size
; Syntax: Number, in unit of samples (not bytes)
; Default value: 1024
; Comment: Ranges from 128 to 8192. Should be a number that is 2^n
; (128, 256, 512, 1024, 2048, 4096, 8192, ...). The number you input
; isn't necessarily the actual value the audio API decides to use.
; Lower means less audio latency but possible audio issues, higher
; means more audio latency but less chance for issues.
;
SAMPLELOWPASS=TRUE
BUFFERSIZE=1024

; End of config file
Loading

0 comments on commit 7e106b7

Please sign in to comment.