Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > GoatTracker v2.0 beta
2005-06-23 08:11
Turtle
Account closed

Registered: Jan 2002
Posts: 70
GoatTracker v2.0 beta

That's a great one!!!!

Cadaver, didn't I hear you denying any activities in that direction a few weeks ago in an other thread.

I guess this major version release will make a lot composers more than happy. All points on my wishlist are marked as accomplished....

Now it's time to start a new topic of tips&tricks with this release.


Thanx,

Turtle
2005-06-23 08:31
cadaver

Registered: Feb 2002
Posts: 1153
Yep that's true, but that was before I realized it was time to gut the old dataformat completely, and lose all pretenses of user-friendliness :) Think of it as a wholly different program, if you wish... (GT2 imports GT1.xx format, but doesn't save back to it, however)
2005-06-23 10:51
Hein

Registered: Apr 2004
Posts: 933
Great! Will try it when home..

http://covertbitops.c64.org/tools/goattrk2.zip
2005-06-23 14:06
Hate Bush

Registered: Jul 2002
Posts: 453
Quote: That's a great one!!!!

Cadaver, didn't I hear you denying any activities in that direction a few weeks ago in an other thread.

I guess this major version release will make a lot composers more than happy. All points on my wishlist are marked as accomplished....

Now it's time to start a new topic of tips&tricks with this release.


Thanx,

Turtle


Just received a test-sng from Jammer. Wonder what that GT master squeezed out of GT 2.0.
I see this release as a good excuse to start fiddling with SID again. Thumbs (and not just thumbs ;>) up to Cadaver
2005-06-23 14:21
cadaver

Registered: Feb 2002
Posts: 1153
Btw. I'd be glad to receive any (high-quality) demotunes with permission to include with the actual v2 release.
2005-06-23 14:48
Hein

Registered: Apr 2004
Posts: 933
We'll first have to fight for that..
2005-06-23 15:03
Hate Bush

Registered: Jul 2002
Posts: 453
Quote: We'll first have to fight for that..

*smacks Hein*
2005-06-23 18:05
Hein

Registered: Apr 2004
Posts: 933
Quote: *smacks Hein*

Auch!!! You win, I give up..
2005-06-23 18:10
Hate Bush

Registered: Jul 2002
Posts: 453
Ah... He said high-quality demotunes? I'd better not be first then, sorry Hein, go for it :D
2005-06-23 19:06
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Yeahh!!!, really cooooooooool! ;)
> Geil, Geil, Geil, < ;)

Goattracker rulez!!!!
2005-06-23 19:41
Hein

Registered: Apr 2004
Posts: 933
Quote: Ah... He said high-quality demotunes? I'd better not be first then, sorry Hein, go for it :D

Haha.. woos.. :)

It got all the features I like (esp. the different tables and vibrato thingy), so if a more Alpha version is available I will do my best..
2005-06-23 20:25
Turtle
Account closed

Registered: Jan 2002
Posts: 70
Hmm, I presume if cadaver stomps a stable V2.x out if his coding plant until the end of this summer, the quota of GT2 songs in CreamD's forthcoming 5th SIDCOMPO will be quite astonishing..

At least one entry will be done with this new goody, definetly!!!


Turtle

2005-06-23 21:39
cadaver

Registered: Feb 2002
Posts: 1153
Of course, there is also the (remote) possibility that the editor is bugfree already :) Btw. I updated the beta, shaved a few bytes off the playroutine, and it also now chooses an even further optimized playroutine if gatetimer/firstwave are the same in all instruments (some memory/rastertime savings)
2005-06-24 10:42
JackAsser

Registered: Jun 2002
Posts: 1989
@cadaver: Would it be possible for you to write a fileformat migration document describing changes to 1.5x->2.0 both for .sng files and the gamedata format? So that I can easily update my cutter utility to support 2.0 aswell without having to dig through your code _again_. :D

/JackAsser
2005-06-24 11:46
dalezy

Registered: Apr 2002
Posts: 475
haven't touched gt in 4 years now, but this looks interesting for a change .. i hope my old worktunes won't get too mangled in this one. =)
2005-06-24 11:49
cadaver

Registered: Feb 2002
Posts: 1153
Jackasser: Now the beta has been updated again, contains proper readme where the new .SNG format is described.

As for the relocated data, the gamemusic data format doesn't exist anymore. Both standard & gamemusic now include the playroutine (as relocations performed by C64 on runtime would be too hellishly complex), and the data is non-editable, as it's missing some important info like amount of patterns, songs and instruments. The playroutine doesn't care :)
2005-06-25 11:29
dalezy

Registered: Apr 2002
Posts: 475
the pulsetable seemed to have changed quite a bit; all my gt1.25 tunes are fecked in 2.0, but nothing that can't be fixed with a bit of manual work in the pt i'd say =)
2005-06-25 12:13
cadaver

Registered: Feb 2002
Posts: 1153
GT 1.xx swapped the pulsenybbles (possibly other pulse stuff too, can't remember) at some point in 1.2 - 1.4 transition. Also the pattern commands totally changed meaning sometime around the same time, or possibly earlier...
2005-06-25 17:26
Bamu®
Account closed

Registered: May 2005
Posts: 1332
What's about the GT-forum we talked in another thread?

@cadaver: it seems that GT isn't yet stable.
I made some test-patterns and the end result wasn't too good.
I'm sure this bugs will be removed.

problem: I converted a little bassline from v.153
to 2.0 and now sound is buggy.
Where is the problem: new ReSID, or new player?
After set ADSR to 20FB sound is fixed...

ADSR 10FB

wavetable

81 C9
41 00
FF 00

- How do I make make same Pulsewidth settings from GT1
(Speed + Limit Min + Limit Max) in GT2?

- What does exactly "Gateoff Timer" do? Why it is useful?

- "Hardres/1stWave", why setting another value than
test+gatebit ($11,21...) is useful?

2005-06-25 17:38
cadaver

Registered: Feb 2002
Posts: 1153
Sorry, right now your message has almost zero informative value. Unless you actually tell what kind of bugs, how do you think I can fix them? Or did you only mean the ADSR "bug"? The timing of resid writes has changed a bit, but if anything now it more closely mimics the C64 playroutine. Though, it has to be investigated...

Load GT1.xx songs into the editor to see how pulse gets automagically converted to new format. In the pulsetable, you specify steps like "add <speed> to pulsewidth for <time> ticks". It is powerful, but manual & unfriendly, but no-one is forcing you to learn it, of course :)

Gateoff timer is explained if you RTFM.

1st wave is only for personal preference. For 99% of the time, $09 is probably best choice. $01 is another candidate. Audible waveforms ($11, $21) should not be used as the frequency, pulse etc. aren't yet initted at that point in time.
2005-06-25 18:35
cadaver

Registered: Feb 2002
Posts: 1153
Ok, here's the deal with the ADSR:

1) In order to get that sound with ADSR $10FB, writes to $d405,$d406,$d404 have to come as close as possible. Due to more complex nature of GT2, this can't be done, unless all SID writes were buffered. But IMO that'd be unnecessary overhead and is only done in the gamemusic version, where it's necessary because of the sound effects.

2) If, on the other hand, the writes are sufficiently far apart, the sound will be different, but consistently so. ADSR $20FB produces the more prominent beginning noise if desired (personally I think it's ugly) :)

3) If they fall inbetween, the sound will fluctuate. This was the case in the editor (not in the C64 playroutine) and is now fixed, you can redownload.

It's a bit complicated explanation.. hope you understood :)
2005-06-25 19:35
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Thanks for the Info Cadaver
Now I mailed you some examples
2005-06-25 21:34
Turtle
Account closed

Registered: Jan 2002
Posts: 70
I fiddled around a little bit and encountered one bug that makes the whole editor exit the program:

Due to the keyboard layout of my Sony-Vaio notebook the std. note-entry method (Protracker) is not very friendly and effective. But in DMC-mode - and only here - the editor exits after changing the octave by pressing on of the number-keys. This bug is repetetive.


But the prog is stable enough to compose a sample song for you, cadaver, from scratch with heavy use of the three tables. I already made some instruments I always wanted to do in the predecessor but couldn't due to its 'limitations' (bad word for a really good editor).


Turtle
2005-06-25 22:51
cadaver

Registered: Feb 2002
Posts: 1153
New version uploaded

- SHIFT+DEL to mutilate instrument and its tabledata
- Protection against gatetimer becoming zero in instruments, as in instr.1 would lead to tempo initialization problems..
- DMC mode crash fixed

Btw. easy way to get much more prominent oldskool first frame of notes (if you dislike the "hifi" feeling): Gatetimer 01, 1st wave either 00 or 08, keep hardrestart on
2005-06-26 09:04
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmmm, not all pulse-width settings can
be convertet correctly from GT1.53 to GT2.0

GT 1.53 example

Pulse width 60
Pulse speed 90
Pulse Limit Min 30
Pulse Limit Max A0

in GT 2.0 Beta only this will be importet as:

01: 86 00
02: FF 00

I think this has something to do with Pulse-speed
and the "Pulse Limit Max". (because it's above 80)

-----------------

Next Problem: "PATTERN 04 IS TOO COMPLEX (OVER 255 BYTES PACKED)"
It's a simple 64-row pattern, filled with 8xy commands
The problem is that in GT1.53 in this pattern were a lot of
different arpeggios and it seems that it is impossible to
have complex arpeggio-settings and saving the song

------------------

Now I testet some fo my fast techno tunes and it seems,
that they need a kind of Buffer.
First I was the opinion that Command line option "/Bxx" could
improve playback quality, but ......... :(
It happens sometimes that during playback GT2 fails a bit in wavetables
(missing/skipping frames?) - even if hardrestart is on.
I hope that somebody noticed this this strange behavior, too

2005-06-26 10:21
cadaver

Registered: Feb 2002
Posts: 1153
Yep, pulsespeed is >= $80.
You could convert that as consecutive "set pulse" commands if you really wanted...

You could make some of those arpeggios instruments.

For your last claim, need more detail, or files (.sng). If by "fast" you mean "multispeed", you may have to put some 09 00 rows or 01 00 to the beginning of wavetable or increase attack for the desired sound of instruments. Had to do this in the 2x_test-song. And did you multiply your gatetimers like TFM instructs?

Note that it's not my aim to necessarily make the import (automatically) work perfect in each case. Afterall, the players are different, some GT1 sideeffects can never be converted anyway.



2005-06-26 17:18
cadaver

Registered: Feb 2002
Posts: 1153
Updated again. Now putting wavetable delay to the beginning of wavetable doesn't bug anymore, in combination with vibrato effect. There's also SHIFT+INS command which aids in inserting stuff to the beginning of table, without moving the startpointer..
2005-06-26 18:05
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Yeahhhhh, I testet again a lot of songs (newest Beta) - now it works fine!
GT-Playback and final/relocatet song seems to be work very well :)

Thanks Cadaver!
2005-06-26 19:06
cadaver

Registered: Feb 2002
Posts: 1153
Hmm, interesting, I have no idea what it was exactly but good if it is satisfying now :)

Btw. I just restored vibratodepth as it was in GT1.xx. Hope no-one will hate me for this, you'll simply have to halve all vibratodepths you used..
2005-06-26 19:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw: It would be nice if GT Sound-output could be interpolated/re-sampled like
in WinVice (fast, interpolating, resampling) Interpolation would avoid
sampling-noise of $31, $51, $61, $71 waveforms....
A command line option would be suitable, or maybe SDl-library doesn't support
such features?.... however, it's just an idea...not more
2005-06-26 19:42
cadaver

Registered: Feb 2002
Posts: 1153
Yep, I think it's easily doable as reSID does all difficult work, just have to tell it to interpolate.
2005-06-26 19:48
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Yep, I think it's easily doable as reSID does all difficult work, just have to tell it to interpolate.

Cool!
2005-06-27 00:46
cadaver

Registered: Feb 2002
Posts: 1153
Ok, new version there with /I option. Try /I1 to set interpolation on. I tried also the more cpu-intensive resample methods but they didn't seem to offer any better quality than the fast method, hmm?
2005-06-27 09:41
cadaver

Registered: Feb 2002
Posts: 1153
Now for a change in our regularly scheduled programming:

due to a limitation of 3XY command Randall discovered, a protection feature has to be removed. This means, putting delayed wavetable (01 00 etc.) in the beginning of your (multispeed) instrument will again be at your own risk only. May cause missing notes. Convert to two rows of 09 00 as necessary. This is especially for you nata!!!

(I am also secretly pleased, as it removes 3 bytes from the player... Though it was evil of me to advise using it in the first place)

2005-06-27 11:05
Hate Bush

Registered: Jul 2002
Posts: 453
So, that evil limitation was removed, I suppose? Is there any chance for mark/copy/paste within tables as well? ;)
2005-06-27 11:08
cadaver

Registered: Feb 2002
Posts: 1153
Wait and see...
2005-06-27 12:17
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw: I always missed a "Octave-Transponse" Up-Down command,
a command that copies all effects (not just one by one)together out to another pattern and a command (in orderlist) that copies out it's content of one or more patterns and paste that into new ones (without going first into the pattern by pressing ENTER)
What other people think about this? Or maybe this is a bad idea, since we would have to learn a lot of new keys?
2005-06-27 13:13
cadaver

Registered: Feb 2002
Posts: 1153
Octave-transpose can be done, for the rest you should program them in yourself or get a code-slave..
2005-06-27 13:23
anix
Account closed

Registered: Feb 2004
Posts: 35
how about an option for hexadecimal row display?

2005-06-27 16:40
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Octave-transpose can be done, for the rest you should program them in yourself or get a code-slave..

Ok, you are not our coding-slave :)
Now my "whishlist" is complete. ;D
2005-06-27 17:39
Hate Bush

Registered: Jul 2002
Posts: 453
...with "whishlist" being a combination of whining and wishlist? ;)
No offence, mate, the more requests, the more Goat Tracker will be useful, and the more grey hair Lasse will have. :)
2005-06-27 18:32
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: ...with "whishlist" being a combination of whining and wishlist? ;)
No offence, mate, the more requests, the more Goat Tracker will be useful, and the more grey hair Lasse will have. :)


:)
2005-06-27 19:50
cadaver

Registered: Feb 2002
Posts: 1153
Ok.. we proceed to RC stage. Quite a bit of fixes and additions. Songformat has completely changed (so that it is binary-incompatible), and pulsemodulation works at 2x speed, but included BETACONV.EXE shall help with any tunes done in the meanwhile.

http://covertbitops.c64.org/tools/goattrk2.zip
2005-06-27 22:51
Raf

Registered: Nov 2003
Posts: 343
well.. maybe not quite really needed feature but what you think about selectable highlight-spacing in patterns (4/8/16 for example) or even optionally two highlights like in modplug tracker?

another feature I (always?) thought about - what you think about allowing to put cursor using mouse? sometimes it might be faster than "tabbing'n'arrowing", anyway I have in mind it might be rather lotsa work...

another gadget - rastertime usage counter

and .. IMO important feature - allow to change sid's base address ($d400) when saving tunes (Who knows what 65xx machine sid may be desired? I thought about atari 2600 once :P )

great job anyway... great that you decided to continue work on GT !
2005-06-27 23:37
cadaver

Registered: Feb 2002
Posts: 1153
Selectable highlight has been there for like 4 years. :) Shift+N,M.

Mouse... mmm, a bit unclean. It would lead to too much expectations I'm afraid, like a proper GUI or something. Remember you can also use function keys F5,F6,F7 etc. to go to parts of the editor.

The editor has no knowledge of rastertime, as it has its own (written in C) playroutine and no inbuilt 6510 emulation. Also editors often don't have data in same format as packed/relocated final tune so it'd be misleading anyway.

Selectable SID baseaddress, probably not used ever but it's now there in the RC2 (/L option)
2005-06-28 11:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Ok, new version there with /I option. Try /I1 to set interpolation on. I tried also the more cpu-intensive resample methods but they didn't seem to offer any better quality than the fast method, hmm?

I think interpolation is the best method and could set as default... :)
It's more closer (?) to the original especially when combined waveforms and filters are in use.
Ok, resample doesn't make much sense, since it eats a lot of cpu-time and sound-quality is only improved slightly in comparison to interpolation.

Btw: What happens, if I set Hardrestart parameter (default 0F00) to - FF00 - ?

Now, let's talk about GT2-STEREO! I can understand that there won't be any Stereo-version anymore. I think Goat-Stereo was never really popular - it was always only in mono (during Composing). Ok, it wasn't Cadavers fault, because there was this problem with SDL-library, right?
People, became very sad (like me), because it was really difficult making good stereo-effects in mono.
But, let's philosophize a bit: If these "only mono" and "GT Stereo cannot import Mono files" problems could somehow fixed, with GT2-Stereo we would have one of THE MOST POWERFUL (SID)- Editors of the world - cool, ehh?
2005-06-28 12:28
cadaver

Registered: Feb 2002
Posts: 1153
Have never experimented much with $ff00, try it, but don't complain if you get uneven/bugging attacks of notes :) Some editors might also use $f800 as default.

I will reconsider stereo when Sidplay supports it and when stereo-sid C64 demos/games start appearing in great numbers. Otherwise, I don't like creating 2x maintenance trouble for something that has little significance for actual C64 productions.
2005-06-28 13:33
Raf

Registered: Nov 2003
Posts: 343
Quote: Selectable highlight has been there for like 4 years. :) Shift+N,M.

Mouse... mmm, a bit unclean. It would lead to too much expectations I'm afraid, like a proper GUI or something. Remember you can also use function keys F5,F6,F7 etc. to go to parts of the editor.

The editor has no knowledge of rastertime, as it has its own (written in C) playroutine and no inbuilt 6510 emulation. Also editors often don't have data in same format as packed/relocated final tune so it'd be misleading anyway.

Selectable SID baseaddress, probably not used ever but it's now there in the RC2 (/L option)


oh sorry! I missed that feature . So forget about that second highlight.

Nata: when Cadaver will add option to change sid baseaddy then you'll be able to make stereo tunes with standard GT ;-) although both parts will be actually separated , there will be finally separate filters for each set of osciallators - that was totally bad in gtstereo.

I know people who made music this way... (Surgeon for example... JCH also made something like this )


woah... and another feature request - PCM samples on volume register? :P yeah... I just asked , I know you won't do that heheh...
2005-06-28 13:42
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Even I had a thought about a new command (Gxy - Hxy)
.... forgive me, it's out of hex philosophy.. ;D

Gxy - PulseWidth slide up
Hxy - PulseWidth slide down

I think this would save a lot of "PULSE TABLE"-memory
and give a lot of control beside Command 9XY (pulsetable pointer).

Btw: What I miss in README: Information about
Filter/waveforms... and and.. usage, beginners (not me).. will be grateful

$90 LOW-PASS
$A0 BAND-PASS
$B0 low + band-pass
$C0 HIGH-PASS
$D0 low + high-pass
$E0 band + high-pass
$F0 low + band + high-pass

$1 CHANNEL 1
$2 CHANNEL 2
$3 Channel 1 + 2
$4 CHANNEL 3
$5 Channel 1 + 3
$6 Channel 2 + 3
$7 Channel 1 + 2 + 3
$8 EXTERNAL INPUT

--------------------

1x TRIANGLE
2x SAWTOOTH
3x triangle + sawtooth (only 8580)
4x PULSE
5x triangle + pulse (6581/8580)
6x sawtooth + pulse (only 8580)
7x triangle + sawtooth + pulse (only 8580)
8x NOISE


x0 Gate Bit (gate-off)
x1 GATE BIT
x2 Sync Bit + Gate Bit (gate-off)
x3 SYNC BIT
x4 Ring Bit + Gate Bit (gate-off)
x5 RING BIT
x6 Sync Bit + Ring Bit (gate-off)
x7 Sync Bit + Ring Bit
x8 TEST BIT
x9 Test Bit + Gate
xA Test Bit + Sync (gate-off)
xB Test Bit + Sync
xC Test Bit + Ring (gate-off)
xD Test Bit + Ring
xE Test Bit + Sync + Ring (gate-off)
xF Test Bit + Sync + Ring


hope, everything is correct. ;D
2005-06-28 13:49
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: oh sorry! I missed that feature . So forget about that second highlight.

Nata: when Cadaver will add option to change sid baseaddy then you'll be able to make stereo tunes with standard GT ;-) although both parts will be actually separated , there will be finally separate filters for each set of osciallators - that was totally bad in gtstereo.

I know people who made music this way... (Surgeon for example... JCH also made something like this )


woah... and another feature request - PCM samples on volume register? :P yeah... I just asked , I know you won't do that heheh...


What's about Pulsewidth digis? ;P
2005-06-28 14:05
cadaver

Registered: Feb 2002
Posts: 1153
The readme kindly refers you to C64 Programmer's Reference Guide. :) Digis of any kind will not be done by me. And I don't think it's very probable to overflow the pulsetable... btw. it's not that hex is necessary or ninjasweet in itself, but there is no room in the patterndata encoding for more commands, unless you want to sacrifice either notes or instruments..

As far as I remember, GTStereo had separate filters you can control on channels 1-3 and 4-6. Or did you mean 2x the filtertable-space?
2005-06-28 17:55
Bamu®
Account closed

Registered: May 2005
Posts: 1332
C64 Programmer's Reference Guide only gives a kind of overview... as far I know, not GT specific...

Of course, digis aren't really important, but more than stereo
Nevertheless, we will respect your decision about 4th-channel......
2005-06-28 18:58
cadaver

Registered: Feb 2002
Posts: 1153
Well.. in most cases GT dumps the table / instrumentdata directly to SID registers, so the info in PRG should be fairly relevant. Learning all about the SID functions & registers should get you pretty far with any musicprogram. Btw. the interesting & technical stuff is in the Basic To Machine language part (memorymap) and in the appendixes.
2005-06-28 20:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Now, what will happen to the old GT (1.53) version? (any ReSID improvements...?)
Many people said it's a "poor" player, but we all know that this isn't true.
I think GT1 will have future beside GT2
2005-06-28 20:19
cadaver

Registered: Feb 2002
Posts: 1153
Change one parameter (SAMPLE_FAST to SAMPLE_INTERPOLATE in gsid.cpp), recompile. Bonus if you do the same by bin-patching :)
2005-06-28 20:21
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Well.. in most cases GT dumps the table / instrumentdata directly to SID registers, so the info in PRG should be fairly relevant. Learning all about the SID functions & registers should get you pretty far with any musicprogram. Btw. the interesting & technical stuff is in the Basic To Machine language part (memorymap) and in the appendixes.


Ok, it was just a thought, however ;)
2005-06-28 20:24
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Change one parameter (SAMPLE_FAST to SAMPLE_INTERPOLATE in gsid.cpp), recompile. Bonus if you do the same by bin-patching :)

What for compiler I have to use?
2005-06-28 20:26
cadaver

Registered: Feb 2002
Posts: 1153
TFM always has an answer, you know :) MinGW (gcc) is what I use, but of course that is not to say it wouldn't compile with some other compilers, after necessary amount of sweating...
2005-06-28 20:28
Bamu®
Account closed

Registered: May 2005
Posts: 1332
;D, I will try it :)
2005-06-28 22:15
Raf

Registered: Nov 2003
Posts: 343
Quote: TFM always has an answer, you know :) MinGW (gcc) is what I use, but of course that is not to say it wouldn't compile with some other compilers, after necessary amount of sweating...

cygwin should work w/o any modifications too. theoretically any gcc based compiler suppoerted by SDL + environment where resid compiles should be fine , isn't it true? (that's why you can't compile GT for dos...)
2005-06-29 09:04
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmm, no idea how I could "improve" GT2 with new features (Digis...and and), I'm not a coder :(

But I don't give up:

So I have to ask around again: Who (NOT cadaver) is able to code a nice, short digi-routine? Even an already available routine can be also taken.
Ok, I do not want any special features for GT2+digi (just import normal samples as 4bit)

You can be sure, that GT2+digi would be the mostly used SID+DIGI!!
Wonder which group would like to be the first one.


2005-06-29 09:44
cadaver

Registered: Feb 2002
Posts: 1153
I guess if someone with skill & time wanted it bad enough, it'd be done already. It's a bit like all codeslave requests, nowadays not even money is guarantee enough (CSDoom :))
2005-06-29 12:31
cadaver

Registered: Feb 2002
Posts: 1153
V2.01 released. Adds under-IO gamemusic player for perverts.
2005-06-29 17:48
Raf

Registered: Nov 2003
Posts: 343
@Cadaver: what do you do recently beside improving GT? :D hehehe ;-)
2005-06-29 17:52
cadaver

Registered: Feb 2002
Posts: 1153
Actually, the additions are minor and each takes about few minutes. I always forget to test properly, though :)
2005-06-29 17:56
Hein

Registered: Apr 2004
Posts: 933
@Cadaver: Do you use a different sidlibrary for Goattracker 2?? it sounds like a R3 instead of the old ones..

Anyway, I'll just have to get used to it.. (And its a good practice to make tunes for both sids)
2005-06-29 17:58
cadaver

Registered: Feb 2002
Posts: 1153
Yeah, reSID was updated but as far as I remember the sound is the same. But reSID interpolation was switched on by default (/I commandline option) You can get the old sound back with /IO
2005-06-29 18:02
Hein

Registered: Apr 2004
Posts: 933
Thanks.. I've been composing resids without interpolation in the past.. geeeeee, that's really stupid..
2005-06-29 18:02
Hate Bush

Registered: Jul 2002
Posts: 453
...which also speeds up the response from the editor - in case your computer is as slow as mine is.
2005-06-29 18:03
Hate Bush

Registered: Jul 2002
Posts: 453
/i0, that is.
2005-06-29 18:04
Hein

Registered: Apr 2004
Posts: 933
yes, I noticed.. my cpu is too slow for interpolation too. Good to be a looser with a snail speed processor.
2005-06-29 18:12
Hate Bush

Registered: Jul 2002
Posts: 453
I have a faster one as well, but it's in the studio running Pro Tools - well now as we have power-consuming interpolation in GT, I'll have to reconsider that ;)
2005-06-29 18:17
Hein

Registered: Apr 2004
Posts: 933
aaah.. glad I'm still the underdog.
2005-06-29 19:03
Raf

Registered: Nov 2003
Posts: 343
my celeron 566@850 is fast enough but I doubt if celeron 300 (w/o l2 cache) or P200mmx would run reasonably fast with interpolation...
2005-06-30 09:00
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Again, a feature request: ;)

When I press in in a instrument on

Wavetable Pos 00
Pulsetable Pos 00
Filtertable Pos 00

doesn't happen nothing (only if there is a non-zero mumber)
This could be used as a feature. Cursor goes automatically
(if pressed ENTER on 00) to the next empty Wave/Pulse/(after FF)
or Filter-table Position. ... and new instrument-number is
automatically stored into new instrument
What do you think about this?

2005-06-30 14:17
Hate Bush

Registered: Jul 2002
Posts: 453
Quote: my celeron 566@850 is fast enough but I doubt if celeron 300 (w/o l2 cache) or P200mmx would run reasonably fast with interpolation...

You're right. Celeron 300@413 (w/cache) barely makes it. The sound is OK, but the editing gets tough.
2005-06-30 22:02
cadaver

Registered: Feb 2002
Posts: 1153
Yeah nice idea. In coming v2.02 RETURN will just get you to the free location, while SHIFT+RETURN will also set the tableparameter. In addition, the under-IO player will be adjusted to be even more cryptic in its interface...

EDIT: v2.02 released. Though the under-IO player's cryptic interface didn't happen.
2005-07-01 11:40
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@CADAVER
Would you be interestet in kind of "25-hz" multi-speed-mode?
Or player has to be rewritten for this purpose?
2005-07-01 11:50
cadaver

Registered: Feb 2002
Posts: 1153
Is there an official definition of 25 Hz? Updating all realtime effects on each second frame only?

I guess the GT playroutine is built in such way that there will not be significant peak-rastertime benefit from that, so on the whole I don't think it's worth the effort.

Just because some term or concept is interesting from an experimental point of view, doesn't necessarily mean it is a good idea to include :)
2005-07-01 13:58
Hein

Registered: Apr 2004
Posts: 933
What use would 25hz have anyway?? Simply slow down the speed/bpm would do the same.

I've been playing around, and noticed a tune needs a little bit more preparation with version 2, figuring out the chords before entering them in the tables and stuff, with version 1 I used the trackarpegios a lot, good to make transitional chords.

Also, I've noticed the vibrato does not work with looped wavetables.

But, I think the tunes will be more consistent with version 2, less on the fly instrument creating.

I'm glad version 2 is available, it provides a lot of possibilities to give more life to the sounds, especially the pwm tables are very handy.
2005-07-01 14:05
Bamu®
Account closed

Registered: May 2005
Posts: 1332
You ever heard the tune "First_25Hz_tune_half-speed.sid" by KB?
2005-07-01 15:03
carlsson

Registered: Nov 2002
Posts: 41
Assuming a 50 Hz player updates all three channels 50 times per second, I believe a 25 Hz player would do something like this:

frame 1 : ch1 ch2 ---
frame 2 : ch1 --- ch3
frame 3 : --- ch2 ---
frame 4 : ch1 --- ---
frame 5 : --- ch2 ch3
frame 6 : --- --- ch3

That is 3/6 * 50 = 25. If two channels are updated on each call, it would be more like 33 Hz, and only one channel per frame would be 16 Hz? Instead of this approach, there may be more minimalistic players than GT to try if raster time is very tight?

My rather lame VIC-20 player seemed to be a raster time hog, and while rewriting it trying to optimize it, I made it update one channel (out of four) on every call (frame). It disallows for synchronized start of notes and it should be possible to make it raster efficient while taking care of all voices, but in theory I guess it was a 12.5 Hz player..
2005-07-01 15:08
Hate Bush

Registered: Jul 2002
Posts: 453
Hein stated:
"I'm glad version 2 is available, it provides a lot of possibilities to give more life to the sounds, especially the pwm tables are very handy."

Yeah, it particularly helps to create cool kick+bass mixes. A kickdrum at pulsewidth $80, and then bass at $40-$50, well with proper filter settings it truly rules. I can't figure out now how could I live without pulsewidth step-programming :D
Trackarpeggios sucked bigtime anyway (especially in multispeed), won't miss them. Have to master 3xx usage (or find some substitute for that), 'coz it still doesn't seem to work as smoothly as in GT 1.52 (IIRC, it was possible to slide the frequency while delaying a wavetable step - or am I wrong?).
2005-07-01 16:34
Hein

Registered: Apr 2004
Posts: 933
Trackarpetios at half speed of the tune were handy, I will miss them.. booohoooo..

I think only the tienote worked well with wavetables..
2005-07-01 17:29
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Can the packer/relocator detect, if an instrument is used or not in the order-list?
In this way not used wavetables/filter... could be removed automatically.
Since there is one big wavetable and 63 possible (!) Instruments, it's quite
time-consuming doing that by hand.
I always try my best, but who knows if, a instrument is needed later on?
2005-07-01 23:40
cadaver

Registered: Feb 2002
Posts: 1153
Nata: it is trivial to detect, but the harder part is to take it to extremes and remap everything (pattern numbers, instrument numbers, table entries) so that everything unused can and will be stripped off. However, I just did that. :)

However, be careful now that this has been implemented, listen your packed/relocated tunes to the end and report any weird behaviour...

Full v2.03 changelog:

- Added execution of continuous commands & instrument vibrato during wavetable delay.
- Added wavetable right side value $80 to keep frequency unchanged (as a consequence, the note C-0 will cause the same effect).
- Added relocator optimizations: all unnecessary data is stripped when packing/relocating.
- Playroutines size-optimized.
- Explanation of how different gatetimer values can lead to playback going out of sync (manual section 3.3).
- reSID interpolation is no longer on by default :)

Note that the command/vibrato execution during wavetable delay will not happen on the last tick of the delay, due to structure of player code. For example: on a delay of 4 ticks the commands will only be executed for the first 3. This cannot be changed.

Btw. GT1.xx and GT2 up to now never executed any pitch commands during wavetable. Why you could use 3xx during looping wavetable was due to the notenumber being set on newnote, and wavetable then changing the frequency.
2005-07-02 00:50
Stryyker

Registered: Dec 2001
Posts: 465
Quote: Assuming a 50 Hz player updates all three channels 50 times per second, I believe a 25 Hz player would do something like this:

frame 1 : ch1 ch2 ---
frame 2 : ch1 --- ch3
frame 3 : --- ch2 ---
frame 4 : ch1 --- ---
frame 5 : --- ch2 ch3
frame 6 : --- --- ch3

That is 3/6 * 50 = 25. If two channels are updated on each call, it would be more like 33 Hz, and only one channel per frame would be 16 Hz? Instead of this approach, there may be more minimalistic players than GT to try if raster time is very tight?

My rather lame VIC-20 player seemed to be a raster time hog, and while rewriting it trying to optimize it, I made it update one channel (out of four) on every call (frame). It disallows for synchronized start of notes and it should be possible to make it raster efficient while taking care of all voices, but in theory I guess it was a 12.5 Hz player..


Skipping 1 channel makes the channel 25Hz but the player is essentially still 50Hz.
2005-07-02 01:43
cadaver

Registered: Feb 2002
Posts: 1153
Btw. as a consequence of the changes, it's possible to make the rastertime skyrocket to disgusting $17. Combine wavetable delay with toneportamento (nonzero speed), ensure that a new note fetch will happen at the same time, play the same thing on all 3 channels and watch in horror. However, I guess that'd have very little practical use in actual music. And for example, vibrato+wavedelay on all channels isn't nearly as bad ($13 max I think)
2005-07-02 09:29
Hein

Registered: Apr 2004
Posts: 933
Maybe the competition on c64.sk is a little bit too early..

Anyway, I've also noticed that trackspeed $f84 on channel 2 gets overruled by higher channel global speed setting ($f08)..


$17, thats still acceptable, from a musician point of view.. I remember the old MON/20CC routine being able to reach the double amount..
2005-07-02 10:23
CreaMD

Registered: Dec 2001
Posts: 3035
Quote: Maybe the competition on c64.sk is a little bit too early..

Anyway, I've also noticed that trackspeed $f84 on channel 2 gets overruled by higher channel global speed setting ($f08)..


$17, thats still acceptable, from a musician point of view.. I remember the old MON/20CC routine being able to reach the double amount..


It's not too early. IMO It's the perfect time to popularize new version, get feedback and test capabilities of this fresh editor and eventually find the deeply hidden glitches.
2005-07-02 10:44
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: It's not too early. IMO It's the perfect time to popularize new version, get feedback and test capabilities of this fresh editor and eventually find the deeply hidden glitches.

Yeahh, my tune is nearly finished for compo....
2005-07-02 10:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Is there an official definition of 25 Hz? Updating all realtime effects on each second frame only?

I guess the GT playroutine is built in such way that there will not be significant peak-rastertime benefit from that, so on the whole I don't think it's worth the effort.

Just because some term or concept is interesting from an experimental point of view, doesn't necessarily mean it is a good idea to include :)


The main reason for asking about a "25-hz mode" was more a "musical reason" than a "rastertime reason":
I saw that GT supports multispeed-songs up to 32x (!!!), but is there anyone
who can handle (making really big wavetables....) such a high speed?
Just imagine, a good instrument in 50hz sounds Ok, and in "25hz" it is really bad.... :D
I think, in this way could be made some really special songs....

Ok, now i go testing new version... ;D
2005-07-02 12:04
cadaver

Registered: Feb 2002
Posts: 1153
Well, didn't you just say it yourself? "In 25Hz it is really bad" :)

I was trying to write a very low-cost player some time ago and came to the conclusion that pulsemodulation and vibrato at 25Hz sound intolerable to me.. and delayed wavetables (the most useful part IMO) can already be created
2005-07-02 12:13
Ninja

Registered: Jan 2002
Posts: 404
About half-speed tunes: I also think it might be interesting to test tunes at half (even quater?) speed. No special playroutine for that, just call the player at 25Hz (even 12 Hz?). If Goattracker can go up to 32x, why not down to 1/32 ;)
Maybe it's a different challenge for musicians, as nata says (i can't judge that). Plus, demo coders will (well, should) surely be happy with such tunes (i can judge that ;)).
2005-07-02 12:30
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, now I testet:

optimized relocator works fine. ;) thanks, Cadaver!


The only thing to remember is:

80 = Keep frequency unchanged
81-DF Absolute notes C#0 - B-7

When I import a song from v.2.02 there will be sometimes glitches
(I used "80" = C-0, very often) I have to set in manually to 81. ;)
Hope I'm not wrong, but now all instruments using Absolute notes C#0 - B-7 (just prepared) will be one halftone higher? (Drums,...)
2005-07-02 12:34
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Well, didn't you just say it yourself? "In 25Hz it is really bad" :)

I was trying to write a very low-cost player some time ago and came to the conclusion that pulsemodulation and vibrato at 25Hz sound intolerable to me.. and delayed wavetables (the most useful part IMO) can already be created


Hmmm, ;)
"bad" is a very flexible word.....
Musicans are always looking for "new" technologies....
2005-07-02 12:40
cadaver

Registered: Feb 2002
Posts: 1153
Ninja: the tempos you could use would be very limited. GT has minimum tempo 3, so in 25Hz mode it would become 6 etc. Plus isn't it fairly useless (at least rasterbased effects) if on each second frame the player gulps the full 50Hz rastertime?

Nata: the absolute/relative notes have stayed same, just pitch C-0 has vanished (tested)

Anyway, adding 25Hz was a 5-minute job, and it truly is terrible and completely useless at least in any rapid passages (because of gateoff and noteinit frame - those together are 4 frames now!) Coming to the next version.
2005-07-02 14:02
cadaver

Registered: Feb 2002
Posts: 1153
V2.04 out. Contains the useless 25Hz mode, note C-0 is back, and commands/instr.vibrato during looping wavetable should work much better (if you only use no-freqchange steps, it should not skip commands/vibrato frames at all, except on tick0, which is normal behaviour anyway) and take less rastertime :)
2005-07-02 15:16
Hein

Registered: Apr 2004
Posts: 933
Quote: It's not too early. IMO It's the perfect time to popularize new version, get feedback and test capabilities of this fresh editor and eventually find the deeply hidden glitches.

Ok ok, I was just trying to get more time ;)
Well, I'll just loose a finger then, please do not cut my thumb..
2005-07-02 16:43
cadaver

Registered: Feb 2002
Posts: 1153
Nice bug.. GT2.04 xor'ed your wavetables with $80 after packing/relocating. If you redownload, it's fixed now.
2005-07-02 23:39
carlsson

Registered: Nov 2002
Posts: 41
In a future update, would it be possible to make the wave, pulse and filter tables independent wrt. scrolling, so that you can scroll each table into the starting position of current instrument? Maybe even make the tables automatically center to the positions the currently displayed instrument uses? (ideas from SIDwinder)

Otherwise, nice program. I formatted the documentation as a MS Word document (15 pages excl. version history), if you would have any use of it besides the .txt version.
2005-07-02 23:48
cadaver

Registered: Feb 2002
Posts: 1153
Can't promise that, considering orderlist & patterns don't scroll independently either. Ninjatracker had that but personally I thought it was messy. Best bet is to program it yourself.
2005-07-03 10:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
25hz-mode: - sounds absolutely cool!!!!!! - , and it is NOT useless!!!! :-O
- WE - will squeeze out 25hz mode to it's limits...., believe me ;)
2005-07-03 11:51
Ninja

Registered: Jan 2002
Posts: 404
cadaver: Glad you added the 25-Hz mode. I hoped that it was not more than 5 minutes of work for you. Hopefully someone (nata?) can put away your concerns about its usefulness ;)

About rasterbased effects: Music is always a pain in such effects, cause you usually can't determine the needed rastertime in advance. That counts for 25 and 50 Hz without no difference. :) But you could do something like playing music in one frame and using a sorting-algo for the effect, which needs a similar amount of time, in the next frame. I would not worry, that coders will find ways to use this extra cycles. Plus, there are non-rasterbased effects which also might be happy with a 2.5% speedup (roughly 1000 cycles / 2 frames).
2005-07-04 01:24
cadaver

Registered: Feb 2002
Posts: 1153
V2.05 out. Contains new instrument legato function, which has more flexibility than 300 (toneportamento legato) as you can control initialization of filter & pulse & ADSR. Can also be combined with 8XX to make legato arpeggio changes etc.

To use instrument legato, set Hardres/1stwave parameter to 00. This disables hardrestart,gateoff and first frame waveform setting.
2005-07-04 08:01
Linus

Registered: Jun 2004
Posts: 638
lo,

thanks, Cadaver! The new Goattracker is so fucking r0xx0r I still can't believe it. The pulsetable and the possibility to change attack and decay on the fly really made my day :)

Keep up the awesome work!

I am with Hein btw, imho the compo deadline should be expanded a bit :)

Greetz
2005-07-04 09:32
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I detectet a problem with GT v2.04:
After Loading my Song for GTcompo
(made with v2.0 - v2.03) into v2.04 sound was Ok, but
after packing and listen in Sidplay2w and WinVice
I detected some Sound-bugs (In Editor Sound is OK)

One Bug I could find after listen in Sidplay2w:

It had this wavetable:

ADSR: 0071

81 C4
11 00
08 00
FF 00

... and in pattern instrument plays was like this:

c-6 01 000
c-6 01 5A0
c-6 01 000
c-6 01 5A0

Ok, in pre 2.04 packed/relocated versions sound was
fine but in 2.04 buggy.
My solution for this was to increase RELEASE to a higher value.
BUT there are still BUGS in my song, which I couldn't detect yet,
because inside GT Sound is always OK.
As far I can remember I had such problems even in old 1.52!!

It is possible to fix this in GT, in order that it doesn't hides anything?
Hope, I wrote undestandable. ;)
2005-07-04 09:36
cadaver

Registered: Feb 2002
Posts: 1153
Try to pack your song with the gamemusic playroutine, it has buffered SID writes. Of course there's then the unutilized sound effect routine wasting memory, but you can't have all..
2005-07-04 10:02
Hein

Registered: Apr 2004
Posts: 933
Quote: lo,

thanks, Cadaver! The new Goattracker is so fucking r0xx0r I still can't believe it. The pulsetable and the possibility to change attack and decay on the fly really made my day :)

Keep up the awesome work!

I am with Hein btw, imho the compo deadline should be expanded a bit :)

Greetz


Finally someone who understands the pressure of being a sid musician.. Nevertheless, I've just started and am halfway with my tune, at least some satisfying sounds, the composition sucks..

Im also with Linus, the possibilities of the new Goattracker are great..
2005-07-04 10:08
cadaver

Registered: Feb 2002
Posts: 1153
..ok, now you can also try to redownload v2.05 and it should not bug anymore in the example you used. Still, only by using gamemusic routine you ensure exact similarity of SID write timing between editor & playroutine :)
2005-07-04 10:16
CreaMD

Registered: Dec 2001
Posts: 3035
Quote: Finally someone who understands the pressure of being a sid musician.. Nevertheless, I've just started and am halfway with my tune, at least some satisfying sounds, the composition sucks..

Im also with Linus, the possibilities of the new Goattracker are great..


I understand musicians very well.. the more time they have until the deadline.. the later they will start to compose ;-).
2005-07-04 11:24
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: ..ok, now you can also try to redownload v2.05 and it should not bug anymore in the example you used. Still, only by using gamemusic routine you ensure exact similarity of SID write timing between editor & playroutine :)

Yepp, it works fine with gamemusic playroutine:
all "bugs" are vanished.

-> Thanks, Cadaver <-

Maybe it would be possible to have a "alternative"
standard playroutine with buffer?

Or I'm the only, with such problems? ;)

however; as you just said: "but you can't have all.."
2005-07-04 11:37
cadaver

Registered: Feb 2002
Posts: 1153
So there still were bugs with new (redownloaded) 2.05 standard playroutine, or did you test?

I try to keep the amount of playroutines in minimum, and would rather encourage people to build custom players in GT if they wish. The gamemusic version is probably best for hacking as it has less specials (like "skip over authorinfo" in the packer/relocator) to consider.

For example, if you want truly optimized output you could strip the author info ($1020-$103f), it's just there because that's an unwritten scene rule :) Or you could strip the lowest octave of frequencytable if you don't use it, saving 24 bytes..

2005-07-04 11:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: So there still were bugs with new (redownloaded) 2.05 standard playroutine, or did you test?

I try to keep the amount of playroutines in minimum, and would rather encourage people to build custom players in GT if they wish. The gamemusic version is probably best for hacking as it has less specials (like "skip over authorinfo" in the packer/relocator) to consider.

For example, if you want truly optimized output you could strip the author info ($1020-$103f), it's just there because that's an unwritten scene rule :) Or you could strip the lowest octave of frequencytable if you don't use it, saving 24 bytes..



Oh, I testet with 2.05 version I downloaded some hours ago...(with game-routine)...
I will test new 2.05 version... now
2005-07-04 11:52
cadaver

Registered: Feb 2002
Posts: 1153
I'm not saying GT should not be consistent with its SID timings, but generally (in any editor) it's probably not good idea to achieve silent pause-notes by high attack, that alternate with normal fast attack notes? These may weirdly interact with the nonzero hardrestart ADSR setting (zero HR ADSR is theoretically most reliable, but too hard for most uses...)

2005-07-04 13:07
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, testet new re-downloaded 2.05:

with gamemusic-routine sound was and is
absolutely exact.
Standart-routine: now, another
(I think, the only) instrument is really buggy:

Example:

ADSR: 00A2

11 C4
80 DE
FF 00

set ADSR to 00A3 helps (standart-routine)to avoid
the buggy sound, but isn't same effect as 00A2 :/

however, from now on I'll take ALWAYS
gamemusic-routine - gives best results for me ;-)

2005-07-04 14:58
cadaver

Registered: Feb 2002
Posts: 1153
Well, whatever, I didn't get any anomalies when I tested that instrument. Maybe I'm doing something wrong or you use some additional effect command :)
2005-07-04 17:50
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Well, whatever, I didn't get any anomalies when I tested that instrument. Maybe I'm doing something wrong or you use some additional effect command :)

Hmmm, I only use Axy command on it.
2005-07-04 20:18
Turtle
Account closed

Registered: Jan 2002
Posts: 70
I tested nata's settings and encountered sporadic bugs, too. But I could resolve it by using the following wavetable:

11 C4
80 DE
08 00
FF 00


Turtle
2005-07-04 22:00
cadaver

Registered: Feb 2002
Posts: 1153
Hmm.. Yeah, after some experiments I got the ADSR-bug too. Moved the ADSR-settings even farther away from reloading firstframe waveform (redownload if you wanna test) Now I hope I broke nothing in doing so :)

2005-07-05 15:56
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Yepp, now I think ALL wavetables sounds Ok (standard-routine)
2005-07-06 16:18
cadaver

Registered: Feb 2002
Posts: 1153
A question: would you kill me if there was one "do nothing" frame at the end of pulse/filtermodulation-steps?

For example, 10 20 would modulate for 16 frames on speed $20, rest for one frame, and only then go to the next tablestep.

This would save 3 bytes of playroutine and max. 1 line of peak rastertime.

"Set pulse/filter" steps would of course execute just as before (no pauses)

(I'd rather not make it an option .. the players are complex enough as they are)
2005-07-06 18:34
Hate Bush

Registered: Jul 2002
Posts: 453
:I

Only if download of the current version would be still possible. I'd personally not appreciate those changes - but I don't make tunes for demos (at least not yet).
2005-07-06 19:09
cadaver

Registered: Feb 2002
Posts: 1153
Never mind. I will just shuffle the code around to get the size down as I planned, but keep functionality as it was before.

(of course.. I don't think ears actually notice if pulse stops for one frame when changing direction, but that will be saved for my own inside-edition with some even sicker changes)

EDIT: v2.06 released. Now it allows 256-byte patterns and playroutines indeed are 3 bytes smaller with no ill effects. If no further fixing arises this shall more or less directly become v2.1 when I get the exampletune-suite..
2005-07-06 22:03
cadaver

Registered: Feb 2002
Posts: 1153
Btw. Randall, just out of interest.. are you already aware when & where exactly GT2 skips execution of what realtime effects (the manual explains this), and more to the point, are you able to hear it? :)

(it's most prominent with fast tempos ofcourse.. and yeah, it's probably for the best that any further skipping of pulse is not added)
2005-07-07 17:15
Hein

Registered: Apr 2004
Posts: 933
'different ways of using wavetables':

My intentional table:
00 41 00
01 01 01
02 01 00
03 01 00
04 ff 01

a smaller table:
00 41 00
01 01 01
02 03 00
03 ff 01

they sound a half note different, allthough theoretically they ought to sound the same.
2005-07-07 18:48
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmmm, very strange!!!

Exactly for such problems I wish a (little) -> GT2-FORUM <-
Maybe on your homepage, Cadaver??

Yes, wavetables sound a half note different. I even testet in GT1 and there was the same problem...
2005-07-07 20:55
Turtle
Account closed

Registered: Jan 2002
Posts: 70
Quote: 'different ways of using wavetables':

My intentional table:
00 41 00
01 01 01
02 01 00
03 01 00
04 ff 01

a smaller table:
00 41 00
01 01 01
02 03 00
03 ff 01

they sound a half note different, allthough theoretically they ought to sound the same.


Hein, nata: The tables aren't the same!!

The first one raises the note for a half for one frame and then plays for two frames again the original note.

The second one raises the note for four frames and then plays the original note for one frame.

The Documentation says that it's the number of frames the execution of this wavetable row is delayed. So the row before the delay will be valid for the number of frames specified in the 'delay row'!

It's no bug.


Turtle
2005-07-07 21:36
Hein

Registered: Apr 2004
Posts: 933
Quote: You ever heard the tune "First_25Hz_tune_half-speed.sid" by KB?

Hey, I've just found a Mozart tune by Hubbard which is 25hz.. its definately older than KB's tune.. :) And I think its not in HVSC too..

The Classic Demo
2005-07-07 21:40
Hein

Registered: Apr 2004
Posts: 933
Quote: Hein, nata: The tables aren't the same!!

The first one raises the note for a half for one frame and then plays for two frames again the original note.

The second one raises the note for four frames and then plays the original note for one frame.

The Documentation says that it's the number of frames the execution of this wavetable row is delayed. So the row before the delay will be valid for the number of frames specified in the 'delay row'!

It's no bug.


Turtle


You are probably right, havent read the manual well enough..
but normally I use that first 01 as a two frame timer, not one (for the step programming, and to make the arpegios the same speed as the tune)

so in my book it would be 01 (2 frames) + 01 (2 frames) = 4 frames.. and 03 is also 4 frames
2005-07-08 06:02
Yodelking

Registered: Apr 2002
Posts: 189
Quote: Hey, I've just found a Mozart tune by Hubbard which is 25hz.. its definately older than KB's tune.. :) And I think its not in HVSC too..

The Classic Demo


/Hubbard_Rob/Harvey_Smith_Show_Jumper.sid
2005-07-08 06:46
Turtle
Account closed

Registered: Jan 2002
Posts: 70
Quote: You are probably right, havent read the manual well enough..
but normally I use that first 01 as a two frame timer, not one (for the step programming, and to make the arpegios the same speed as the tune)

so in my book it would be 01 (2 frames) + 01 (2 frames) = 4 frames.. and 03 is also 4 frames


Yep, I disregarded my own argumentation.. Of course, 01 00 is two frames long....

In german we would say "klugscheissen" which means something like clever shitting....
2005-07-08 09:40
Hein

Registered: Apr 2004
Posts: 933
Quote: /Hubbard_Rob/Harvey_Smith_Show_Jumper.sid

Cool! I missed it when browsing his dir yesterday..
2005-07-08 17:00
Raf

Registered: Nov 2003
Posts: 343
Cadaver , are you sure latest version is working with hardsid? I'm trying to run GT2 with "fake hardsid" and it seems to not work. The problem might be with new hardsid support framework from hard software which requires newer DLL version but that's only my investigment (that's why new sidplay2/w is not working with that fake driver), the problem may be somewhere else. GT shows up with "cannot initialize sound driver" screen, while old sidplay for windows is just working fine.
_____

sorry for flase alarm, after restart GT also started to work properly , strange thing isn't it? (no it's just pc and window$ ;) )
2005-07-08 18:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I have a little problem:

It's possible to start with Bxy command
a filter without set a filtertable? (not Axy cmd)
I testet it together with Cxy command, but there was no audible output!?!?
So, isn't this command (Bxy) a bit "useless", or maybe I understand something wrong?

2005-07-08 19:18
cadaver

Registered: Feb 2002
Posts: 1153
Nata: passband is probably still 0 (none) when you call the Bxy command. This as you noticed results in silence on the filtered channels. And yes, you need the table to set initial value of passband. Bxy is mainly useful for toying with the resonance, or easily turning off filtering (B00)
2005-07-12 08:32
Raf

Registered: Nov 2003
Posts: 343
Cadaver , how about "ripping of" that dosbox which actually is unnecesary and takes space on taskbar? if you use mingw then you only have to supply -mwindows while linking to get rid of it ;-) You're just like genie in a bottle ;-) hehehehe
2005-07-12 12:42
cadaver

Registered: Feb 2002
Posts: 1153
V2.07 out, contains that modification + some other editor fixes. Also saves PSID v2 NG specification PAL/NTSC, 6581/8580 flags now.
2005-07-12 21:24
cadaver

Registered: Feb 2002
Posts: 1153
V2.08 out, adds finevibrato mode. Highest bit of vibrato speed/depth parameter gives fine control over the depth, but as a consequence you lose one bit from the speed nybble. It's by default on in singlespeed and off in multispeed, but can be reconfigured with the /V commandline option.

Of course, the kvlt way would be to have fully tablebased slide/vibrato, but that'd again be noticeably harder to use and make the songs bigger...

EDIT: optimized 10-14 cycles (per channel) from portamentos by finally eliminating the disgusting "makespeed" subroutine..
2005-07-14 20:20
Raf

Registered: Nov 2003
Posts: 343
me & CreaMD discussed small thing - what do you think about adding info about (At least) currently selected sidchip in the top line (where goattracker vx.xx resides) , maybe speed multiplier and PAL/NTSC timing?
2005-07-15 16:42
cadaver

Registered: Feb 2002
Posts: 1153
That's an easy addition :) V2.09 just out and it's included.

Other changes:
- some more size & speedoptimization of playroutines (unleash.sng stays within $12 rasterlines now)
- added minimal playroutine
- Hardres/1stwave value $80 also acts as legato. Previously, it could be misused for weird gateoff+legato effect. I hope no-one actually used that :)
2005-07-15 16:48
Hein

Registered: Apr 2004
Posts: 933
Quote: V2.08 out, adds finevibrato mode. Highest bit of vibrato speed/depth parameter gives fine control over the depth, but as a consequence you lose one bit from the speed nybble. It's by default on in singlespeed and off in multispeed, but can be reconfigured with the /V commandline option.

Of course, the kvlt way would be to have fully tablebased slide/vibrato, but that'd again be noticeably harder to use and make the songs bigger...

EDIT: optimized 10-14 cycles (per channel) from portamentos by finally eliminating the disgusting "makespeed" subroutine..


Does that mean that vibrato gets multiplied on higher frequencies?? coz I still have to add track vibrato on high and low frequencies..
2005-07-15 17:07
cadaver

Registered: Feb 2002
Posts: 1153
No. And in case finevibrato bothers you remember it can be easily turned off (/V0 option)
2005-07-15 17:46
Hein

Registered: Apr 2004
Posts: 933
I just tried it, it doesnt bother me at all (because I havent used vibratospeed higher than 7 on 1-speed tunes at all)

I think its a good feature to get some extra nuances in the melodies..
2005-07-18 20:12
Raf

Registered: Nov 2003
Posts: 343
possibly I found a bug or maybe I'm only just stupid:

if you use Bxy or filtertable equivalent then if you set 7 in y then sound just disappers , each combination of 2 channels or single channel works.
2005-07-19 10:35
cadaver

Registered: Feb 2002
Posts: 1153
Hmm, that doesn't sound like anything that's in my control (ie. some check I would deliberately insert to make the 3-channel combination bug) But it has to be checked when I get home...
2005-07-20 17:24
Raf

Registered: Nov 2003
Posts: 343
real bug: when you press shift+esc to clear data , maximum length of pattern is up to 80 instead of 96
2005-07-21 21:12
cadaver

Registered: Feb 2002
Posts: 1153
Supposed filterbug with 3 channels: just tested, couldn't reproduce.

Song-clear bug: Fixed, without incrementing versionnumber :) Got to wait for the compo-songpack now...
2005-07-21 23:24
Raf

Registered: Nov 2003
Posts: 343
hmm.. so I'll test that stuff again and when I'll see something wrong then I'll supply you with SNG
2005-07-23 08:08
Bamu®
Account closed

Registered: May 2005
Posts: 1332
1. If an instrument is saved, this could take the names from the instrument editor

2. and if song is saved, editor could ask too, because sometimes it happens that I open a song and afterwards I open again the directory (just for fun), but the song name has changed....This can cause an overwriting of the wrong song, if I save after work.
2005-07-24 07:42
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Idea: GT executables (goattrk2.exe, mod2sng) and "sdl.dll" could
compressed with a executable-packer like upx

http://upx.sourceforge.net

without packing: goattrk2.exe = 316.416 Bytes
compressed with upx: goattrk2.exe = 84.992 Bytes)
2005-07-24 12:07
cadaver

Registered: Feb 2002
Posts: 1153
V2.1 release candidate out. V2.1 itself will add the goatcompo-song pack and possibly any fixes discovered meanwhile. There is no confirm on song save (too luserish!) but it shows you the songname currently loaded in the titlebar to remind you.
2005-07-24 13:45
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: V2.1 release candidate out. V2.1 itself will add the goatcompo-song pack and possibly any fixes discovered meanwhile. There is no confirm on song save (too luserish!) but it shows you the songname currently loaded in the titlebar to remind you.

"but it shows you the songname currently loaded in the titlebar to remind you."

Yeah, this should be enough,

thanks
2005-07-25 16:09
Hein

Registered: Apr 2004
Posts: 933
Autodetect is hot, huh.. Why not include a sid autodetect in the player, which changes the filters to simular sounding setting..
2005-07-25 16:36
cadaver

Registered: Feb 2002
Posts: 1153
Well.. considering the variation even among same type sids, I doubt it's useful. Plus it adds clutter to the playroutine. Create own custom version if you want it.

And btw. how did you envision the filtersettings to converted? Something like $00-$ff cutoff range of the 8580 to be compressed to $80-$ff of the 6581 (inaccurate, but could be done with a few asm instructions) or a far more costly lookuptable?

2005-07-25 19:21
Bamu®
Account closed

Registered: May 2005
Posts: 1332
What's about a customized playroutine,
that allows to compose tiny-SIDs (256/512k)?
Ok, people (with knowledge) could make their own
customized routine,but that is very unhandy.
Maybe GT2 playroutine could used for that?
Command line could used for disable/enable different GT-Feature
like Filter and all the other nice things in the playroutine ;)
Well, I don't know if this would work, but i simply had to ask that ;)
2005-07-25 20:04
cadaver

Registered: Feb 2002
Posts: 1153
Tiny SIDs are handwritten for a reason (very featurestripped & optimized for the specific tune). Would require hell of a codegenerator, unless you'd be satisfied with 1982's style gamemusic. And no it's not simply a matter of turning on/off features, it's decisions like pattern/song dataformat, some effects hardcoded on channels etc.

(Kindly refer to any sourcecodes available from the tiny SID compo ... maybe you gain understanding to not make this request again :))
2005-07-27 17:44
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I would prefer a more readable "goattrk2.cfg" file, so I can change gt2 settings with this file, instead of command line... ;)
2005-07-27 17:58
CreaMD

Registered: Dec 2001
Posts: 3035
Quote: I would prefer a more readable "goattrk2.cfg" file, so I can change gt2 settings with this file, instead of command line... ;)

me too.
2005-07-27 17:59
cadaver

Registered: Feb 2002
Posts: 1153
You can, just learn which parameter is which. :) At least, it's not binary...

Ah, and in case this stems from lack of willingness to use the commandprompt, I am not interested in helping (much)

Hmm.. maybe I can add some comment about the contents.. but it must be done in very raw way, no sophisticated file parsers for me
2005-07-27 18:41
Hein

Registered: Apr 2004
Posts: 933
Quote: Well.. considering the variation even among same type sids, I doubt it's useful. Plus it adds clutter to the playroutine. Create own custom version if you want it.

And btw. how did you envision the filtersettings to converted? Something like $00-$ff cutoff range of the 8580 to be compressed to $80-$ff of the 6581 (inaccurate, but could be done with a few asm instructions) or a far more costly lookuptable?



Hum, I think you are right about the different 6581 models. If it only was for 6581 and 8580 ReSid models, it would be less difficult.

In my opinion, based on resid settings, and using my ears, the 6581 has a more linear filter, where 8580 has a more parabolic filter. But thats only simplistic comparison.

A memoryunfriendly lookup table would be needed, yes.

I think #$80 in 8580 is the highest hearable, where #$ff is 6581 highest hearable valuable.

I guess it's the challenge for a musician to create sids that sound ok on all sidmodels.
2005-07-27 19:03
CreaMD

Registered: Dec 2001
Posts: 3035
Quote: You can, just learn which parameter is which. :) At least, it's not binary...

Ah, and in case this stems from lack of willingness to use the commandprompt, I am not interested in helping (much)

Hmm.. maybe I can add some comment about the contents.. but it must be done in very raw way, no sophisticated file parsers for me


comments about which byte is which (in readme... or even better - directly in the config file) would be okay.
2005-07-27 19:03
cadaver

Registered: Feb 2002
Posts: 1153
Request has been fulfilled, if you redownload v2.1 RC it saves a luser-readable/editable configfile upon exiting. Though, the sourcecode already told clearly which parameter is which :)
2005-07-27 23:11
cadaver

Registered: Feb 2002
Posts: 1153
Updated the RC again with combinations of 3 playroutine optimizations:

- All instruments have HR, same gatetimer & firstwave (was already there)
- There is no funktempo used
- Octave 0 isn't used

As before, here's for hoping I fucked up nothing while doing this...
2005-08-04 11:22
Bamu®
Account closed

Registered: May 2005
Posts: 1332
If an instrument is cut out and is then inserted in another number, the number also could change in the Patterns.
Sometimes this would save a lot of work if one liked to fit together different instruments to groups: Arpeggios to the arpeggios, different drums to the drums.

Example:

01 C 2 01
02 C 3 01
03 --- 00
04 D 5 01
05 --- 01

After insert instrument 1 into 2:

Example:

01 C 2 02
02 C 3 02
03 --- 00
04 D 5 02
05 --- 02

2005-08-04 14:15
cadaver

Registered: Feb 2002
Posts: 1153
Hmm.. before doing that, it would have to be ensured that every user in every situation would want that to happen. So.. any counterexamples?

At least one: you want to save instrument 1 for later use, but it isn't suitable for the current part. So you cut & paste instrument 1 to 2, and overwrite instrument 1 by loading. Now you wouldn't want that to happen.
2005-08-04 18:34
Puterman
Account closed

Registered: Jan 2002
Posts: 188
IMO tools shouldn't try to be too clever, but I don't even use Goattracker, so I should probably shut up anyway.
2005-08-05 11:03
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Hmm.. before doing that, it would have to be ensured that every user in every situation would want that to happen. So.. any counterexamples?

At least one: you want to save instrument 1 for later use, but it isn't suitable for the current part. So you cut & paste instrument 1 to 2, and overwrite instrument 1 by loading. Now you wouldn't want that to happen.


Ok, maybe it could be used another Key instead of SHIFT+X,C,V

-------

Other topic: pulse table

Sure, pulse table is really powerful! It is not a problem to make very wired pulse settings, but I find it very difficult to make the simple ones - like in GT1.x. ;..(
Therefore I used GT1.x for making pulse settings, but it's quite uncomfortable...
My question: would it possible to add again a "pulse limit min/max"?
Pulse width and speed will be set in table like usual, but a special number/letter activates the simple mode:


84 00
11 50
00 0S
FF 00

S = activates simple mode in pulsetable
and parameters can be set by:

p. lmt. max. 40
p. lmt. max. 80

.. I would be glad to have that feature, since it allows to change pulse speed settings in a very fast way, without any "glitches"... ;)



2005-08-05 13:43
cadaver

Registered: Feb 2002
Posts: 1153
Your idea is much too complicated for my taste. Furthermore your example doesn't show where the values $40 and $80 go. If as instrument parameters instead of going into the table, would you really want another total change of songdataformat just for that?

However, I did it another way in V2.11, which was just released. You enter pulse/filter steps like <limit,speed> and then press SHIFT+L over each of them to convert them to timebased. In the process they may expand to several steps but this doesn't matter :)

Also adds SHIFT+S for the instrument number conversion during instruments cut/paste ("smartpaste", or shitpaste)

Now, I hope you shut up for a long time ;)
2005-08-05 13:47
carlsson

Registered: Nov 2002
Posts: 41
OctaMED (another Finnish quality product) has among its transpose options also a function for swapping instruments: src and dest, either replace or swap. I would believe a new function (yay!) like that would make more sense than automagic replacement when you copy/paste an instrument. Or the automagic should be possible to toggle.
2005-08-06 07:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Your idea is much too complicated for my taste. Furthermore your example doesn't show where the values $40 and $80 go. If as instrument parameters instead of going into the table, would you really want another total change of songdataformat just for that?

However, I did it another way in V2.11, which was just released. You enter pulse/filter steps like <limit,speed> and then press SHIFT+L over each of them to convert them to timebased. In the process they may expand to several steps but this doesn't matter :)

Also adds SHIFT+S for the instrument number conversion during instruments cut/paste ("smartpaste", or shitpaste)

Now, I hope you shut up for a long time ;)


Yeahhhhhhh!!!! , your solution was better than mine. PERFECT!!! :)
It works really fine - now there isn't anything more what I miss, I hope. :D
Cadaver, the more "features" you will implement now, the less mails you will get afterwards with lame requests (from me and others). ;P
I think, it's always good to add some useful features that make it easier to handle the tracker. There is no reason for not doing it, since a PC isn't limited like a c64.

----

Btw.
Wired, recently I found on the net "RASTER Music Tracker" http://raster.atari.org
It's a Tracker for Atari XE/XL sounds but has a proper GUI and a lot of features...


2005-08-06 07:56
Raf

Registered: Nov 2003
Posts: 343
yeah , sometling like GOAT TRACKER for atari ;-) seen it few month ago fo first time but I must admit I like goat better.
2005-08-10 11:17
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@Cadaver

Hmmm, I detected again these very ugly ADSR-Bugs in one of my test-tunes.
Inside GT you won't hear anything ;.........(
If we had a alternative Standard-routine (with a modified Gamemusic-routine + Buffer)...... this would solve all problems.
I think, it's really not the best to use the normal Gammusic-routine within Demos and other stuff, since there is required only the buffer?!

I hope, that my permanent wishes aren't too inconvenient :)

PS: test-example tune already mailed :)

2005-08-10 12:55
cadaver

Registered: Feb 2002
Posts: 1153
I will look into it, and probably tweak the playroutines again if it's possible, but please note that whenever you make an instrument that is prone to ADSR-bugging (relies on strict SID write timing) you are generally treading on unsafe ground. Sometimes even the editor itself bugs when playing some of your test-instruments in the jammode, not to mention HardSID output.
2005-08-10 14:44
cadaver

Registered: Feb 2002
Posts: 1153
Bah, V2.12 out with playroutine 1 having buffered writes. From now on, routine 4 must be used for all low-rastertime demands (it is still unbuffered)
2005-08-11 08:15
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Bah, V2.12 out with playroutine 1 having buffered writes. From now on, routine 4 must be used for all low-rastertime demands (it is still unbuffered)

Many thanks Cadaver!!!!!
2005-08-27 11:33
cadaver

Registered: Feb 2002
Posts: 1153
To be honest, I was disgusted by the rastertime the buffered standard player took. So, in V2.13 (out now) there are both buffered & unbuffered flavors. Unbuffered is of course the default :)
2005-08-29 17:06
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi, it's me... (again)... :-)

In the readme is written:

"Alternatively, you can enter pulse/filter modulation steps in limit-based
format,...."

Hmm, it seems that SHIFT+L doesn't work in the filter table - or did I something wrong? Ok, it's not so important that the "limit-based" foramt works in filter table too.

Btw: Now, maybe a stupid question:
What happens if X in mastervolume command is not $0?
What is that timing mark loacation, why it is useful?

2005-08-29 18:58
cadaver

Registered: Feb 2002
Posts: 1153
Shift+L does work in filtertable, BUT just like in the pulsetable, it must be able to backwards-follow the table to a "set cutoff" command to determine where it's starting from! As far as I remember, it can't backwards-follow jumps.

Timing mark is player offset + $3F (last byte of authorinfo). May be useful for demos. Use it when requested by coders, otherwise leave alone :) If X is >0 in mastervolume command, it will be interpreted as timingmark.
2005-08-30 13:43
Linus

Registered: Jun 2004
Posts: 638
lo,

still one question left :)

How can I use funktempo in multispeed tunes (e.g. 4x-speed)?

Like if I wanna alternate between tempos $22 and $1e? The EXY
command is not very useful in that case since it's range is obviously limited ($3 to $f).

I wouldn't want to write F22,F1E,F22,F1E ... since it takes space for other commands.

Is there any solution?

Greetz,
Linus
2005-08-30 14:01
cadaver

Registered: Feb 2002
Posts: 1153
You could hack the funktempo setting command from gplay.c so that it shifts the tempos left a couple of bits, and also hack the ASM player code you're using (most likely player1.s) similarly, then keep the GOATTRK2.EXE (selfcontains the player code, so no problems) produced this way under a different name or something...
2005-08-30 15:01
CreaMD

Registered: Dec 2001
Posts: 3035
Timing mark is good to hard-synchronise demo effects to music. You can e.g. synchronise some blinking to drumbeat use timng mark to launch different demo effects (demo-parts) according to music changes.

In past I had a deme-recorder tool where (while the music was playing) I could launch and disable demo effects by pressing keyboard keys (0-9, shift + 0-9) and all these actions were recorded and then could be replayed anytime. It was quite stupid idea. I thought it will give me jamming-freedom to make some cool demo, but instead it was quite hard to sync anything as it needed perfect reactions and a lot of restarting. It's much better to create music and place the "marks" into the music tracks... and make the demo which scans the timing mark value and launches effects and parts of the demo according to them. Perfect timing.
2005-08-30 16:41
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmm I detected something strange in version 2.13
If you play phobos.sng in tracker, instrument 4 sounds totally wrong!
Outside GT the song sounds like in 2.12 (unbuffered/buffered)
It seems that ADSR settings with A=1 aren't playable anymore correct in Editor, but outside it seems to be Ok.

Well, here my cfg. settings:

;reSID buffer length (in milliseconds)
100

;reSID interpolation (0 = off, 1 = on)
1
2005-08-30 18:44
Linus

Registered: Jun 2004
Posts: 638
lo,

@Cadaver: Well, -I- can't :)

Greetz
2005-08-30 19:33
cadaver

Registered: Feb 2002
Posts: 1153
nata: have no idea what caused the bug. Nothing was changed in the code, but I recompiled everything and it seemed to go away. You can redownload now. (btw. options like buffersize or interpolation can never cause ADSR-bugs, 'cos they don't affect the internal timing of SID writes etc.)

linus: recruit a friendly codeslave from somewhere.
2005-08-31 16:53
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Shift+L does work in filtertable, BUT just like in the pulsetable, it must be able to backwards-follow the table to a "set cutoff" command to determine where it's starting from! As far as I remember, it can't backwards-follow jumps.

Timing mark is player offset + $3F (last byte of authorinfo). May be useful for demos. Use it when requested by coders, otherwise leave alone :) If X is >0 in mastervolume command, it will be interpreted as timingmark.


Oops, I always forgot to set a cutoff :-)

Timing mark: really nice feature!
2005-09-03 14:35
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi,

"TABLE EXECUTION OVERFLOWS! PRESS Y TO GO ON ANYWAY"

Hmm, I have just startet a new song and can't imagine why this message shows up?!
There are only a few simple instruments/filter and pulse settings in my song, but the Tables are 552 bytes!!
What happens if I save anyway?
2005-09-03 16:15
cadaver

Registered: Feb 2002
Posts: 1153
You can save your song of course, but somewhere there's an endjump missing from your table, or a pattern/instrument table pointer pointing to nowhere and therefore it grows unnecessarily (as the whole table gets used...)
2005-09-04 17:17
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: You can save your song of course, but somewhere there's an endjump missing from your table, or a pattern/instrument table pointer pointing to nowhere and therefore it grows unnecessarily (as the whole table gets used...)

Thanks for the info, Cadaver!
I will re-check my tables.
2005-09-14 12:55
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Would it be possible to code a new "SHIFT+" key, one that allows to invert the pattern content?
This could be useful by creating complex volume settings (fade outs) etc,
or even invert a melodie line...

example:

c-2 1 5A0
c-5 5 6F6
c#3 2 666
... . ...


inverted

c#3 2 666
c-5 5 6F6
c-2 1 5A0
... . ...

Just a thought: this feature could invert a well known song in some minutes...
... and you have a new one ;-)
2005-09-14 13:19
Hate Bush

Registered: Jul 2002
Posts: 453
> Just a thought: this feature could invert a well known
> song in some minutes...
> ... and you have a new one ;-)

Some guys already have the Randomizer plugin for Goat Tracker (Dalezy knows), do they need the Inverter plugin as well?
2005-09-14 16:06
cadaver

Registered: Feb 2002
Posts: 1153
Actual coding of simple feature such as that is always easy, but the required docs/online help/website/etc. updates are a serious pain in the ass.
2005-09-14 17:39
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: > Just a thought: this feature could invert a well known
> song in some minutes...
> ... and you have a new one ;-)

Some guys already have the Randomizer plugin for Goat Tracker (Dalezy knows), do they need the Inverter plugin as well?


Hmm, Plugin? :-)
2005-09-14 17:41
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Actual coding of simple feature such as that is always easy, but the required docs/online help/website/etc. updates are a serious pain in the ass.

Yes, you are right Cadaver. ...
I always wondering how good you manage such things :-)
2005-09-14 18:26
cadaver

Registered: Feb 2002
Posts: 1153
Updated.
2005-10-04 14:32
Bamu®
Account closed

Registered: May 2005
Posts: 1332
In a few cases even the buffer can't help :)


Example:

ADSR settings like 00F1
and pattern commands 5Cy....

table:

80 DE
80 DE

or

81 DE
80 DE
2005-10-04 14:40
cadaver

Registered: Feb 2002
Posts: 1153
Simple: don't use ADSR-values that bug. Usually very short release is asking for trouble.
2005-10-04 14:43
dalezy

Registered: Apr 2002
Posts: 475
Quote: > Just a thought: this feature could invert a well known
> song in some minutes...
> ... and you have a new one ;-)

Some guys already have the Randomizer plugin for Goat Tracker (Dalezy knows), do they need the Inverter plugin as well?


langel janson l. bookbinder esq. IX still has to send that one to me. =)
2005-10-04 14:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Simple: don't use ADSR-values that bug. Usually very short release is asking for trouble.

Yes, I have done this in that way, BUT the main problem is that such bugs only will recognized if song is testet outside GT (in your test-player and others on c64)
2005-10-04 14:48
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: langel janson l. bookbinder esq. IX still has to send that one to me. =)

Hmm, what's that randomizer plugin for GT? :-)
2005-10-04 15:42
cadaver

Registered: Feb 2002
Posts: 1153
In theory the timing & order of SID writes is now exactly same in buffered player and the editor.

I usually get bugs with "dangerous" instruments when inserting notes in the editor, so that could be some indication. Also you could test slightly changed ADSR-hardrestart parameter and see if it brings out some bugs.

Btw. I tested both those instruments and they didn't bug with standard buffered routine. Though I don't know how the 5CY command fits into the picture because if you have attack C, the whole sound becomes inaudible.
2005-10-04 18:45
Bamu®
Account closed

Registered: May 2005
Posts: 1332
It was something like this:

c-1 05 000
c-1 05 5b0
c-1 05 000
c-1 05 5c0

Speed is F05

ADSR: 00B1

Table:
80 DE
80 DE
FF 00

Now I already debugged the song :-)
2005-10-04 20:02
cadaver

Registered: Feb 2002
Posts: 1153
Still no bugs with latest exe and buffered playroutine (also tried full sustain and the second variation of the wavetable)
2005-10-05 18:13
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Still no bugs with latest exe and buffered playroutine (also tried full sustain and the second variation of the wavetable)

Ops, maybe my sound Buffes size in VICE was to low (100ms), or something other. I can't remember wat I did, but now it works again... :)
I will release this song in some days/weeks here on csdb. So people out there can hunt for bugs. :)

Btw.
What you think about the idea to implement a kind of siddump in GT2?.
Just press a button and switch to the "dump-mode" to get more control over
the tune witch is currently loaded. The "dump-mode" is not a alternative editor but a viewer. So you not only can see what happens at ONE pattern-line, but the frames...
Maybe this could be useful, for creating some nifty and experimental tunes... or something between :)
2005-10-05 18:41
cadaver

Registered: Feb 2002
Posts: 1153
Personally, I prefer people using their ears & emotion instead of staring at hex-output.

Plus you would be disappointed when you see GT2 playroutine skipping realtime effects on certain frames (it's unhearable and doesn't really matter, but in a siddump it's certainly visible & kind of disgusting)

And no.. there won't be "no-realtime-effect-skip" option, unless you get some other codeslave to implement it. :)

Btw. WinVICE sound buffer size does not cause ADSR bugs (unless you perceive an audio output artifact as one)
2005-10-06 18:05
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Personally, I prefer people using their ears & emotion instead of staring at hex-output.

Plus you would be disappointed when you see GT2 playroutine skipping realtime effects on certain frames (it's unhearable and doesn't really matter, but in a siddump it's certainly visible & kind of disgusting)

And no.. there won't be "no-realtime-effect-skip" option, unless you get some other codeslave to implement it. :)

Btw. WinVICE sound buffer size does not cause ADSR bugs (unless you perceive an audio output artifact as one)


Haaa, I have expected such an answer :-)
Nevertheless, I find my idea behind wasn't really bad...
2005-10-07 18:53
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Technical question:

Does GT2 need a OS (Linux/Windows) to run?

If possible (and if I find a coder) GT2 could be made bootable from a CD, Floppy Disk, or wathever...
In this way the tool could be started in no time, without behind a disturbing Windows or Linux)
There are some advantages:
1. Will run on every todays PC, without recompiling.
2. It could be used a very cheap and simple PC to run GT2 (even a hard-drive is optional)....


2005-10-07 19:21
cadaver

Registered: Feb 2002
Posts: 1153
What would you guess? :)

GT2 most definitely does not contain lowlevel floppy/harddisk routines, own filesystem, soundcard drivers for every soundcard imaginable etc.

OK, if you mean booting from raw DOS (hey... it's an OS too!), it doesn't work either, because the SDL (Simple Directmedia Layer) library doesn't exist as a DOS version.
2005-10-07 19:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, then it's probably too much work... :(
My idea was booting GT directly, without Windows (Dos) or wathever....like on the good old c64 :)
2005-10-07 19:43
cadaver

Registered: Feb 2002
Posts: 1153
At least I wouldn't want a crappy musiceditor screwing my harddisk data directly :)

To be usable, it would need to know FAT16/32, NTFS (which even Linux refuses to support properly the last I remember) + the different Linux filesystems, support maybe USB memorysticks etc.

There's a reason OS'es exist, you know :)
2005-10-07 19:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, you have convinced me ):
2005-10-08 09:37
Puterman
Account closed

Registered: Jan 2002
Posts: 188
You could make a bootable floppy/CD with Linux + goattracker.
2005-10-09 18:07
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: You could make a bootable floppy/CD with Linux + goattracker.

How does this work?
2005-10-12 18:49
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Personally, I prefer people using their ears & emotion instead of staring at hex-output.

Plus you would be disappointed when you see GT2 playroutine skipping realtime effects on certain frames (it's unhearable and doesn't really matter, but in a siddump it's certainly visible & kind of disgusting)

And no.. there won't be "no-realtime-effect-skip" option, unless you get some other codeslave to implement it. :)

Btw. WinVICE sound buffer size does not cause ADSR bugs (unless you perceive an audio output artifact as one)


Another day, another try:

I love staring at hex-output. :)
As I just said, this feature would give a lot more
of control - even if nothing is in realtime (like siddump)
My thoughts were: If I'm (for example) on pattern 1,2,3,
then it is possible to press a button to switch to a dump mode,
that shows everything (pattern 1,2,3,). BUT: in this mode I can't edit or
play the pattern - this feature is really not necessary.

Some advantages of this mode.

- bether control over GT's time-based filter/pulse settings
- wavetables: you can see the note (c-3..), not only A3,DF...
- best control over creating and MANAGE ultra special effects :)
.... and so on....

Cadaver, I don't want to force you to implement this feature if you
not want - it is your player. Also, I wouldn't like to stop you from
other more important things. (like work) :>
I think, not many people have so much knowledge as you - with GT1/2 you
made a big and useful tool :O


Btw: Now I'm testing around with some oldskool techniques,
but there is a problem:
All, my instruments (bass, arp, drums,..) doesn't use hardrestart.
I seems that GT (even fi song is packed) doesn't plays such songs (everything is
mute)
Isn't it enough if I set a gate on?

2005-10-12 20:50
cadaver

Registered: Feb 2002
Posts: 1153
Ok, keep dreaming on about that feature :)

If all your instruments have 1stwave/HR parameter $00, that means they're *legato instruments* and won't have gateoff & proper noteinit. Legato instruments are only meant for lead passages etc. where there is first a note started with a normal instrument, then some tie-note stuff follows (a substitute for 300 command)

To just disable hardrestart, you should use highbit set in the 1stwave/HR parameter, for example $89 or $81. The actual waveform used is then 1stwave/HR AND $7f, leaving the high bit off...

2005-10-13 18:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Ok, keep dreaming on about that feature :)

If all your instruments have 1stwave/HR parameter $00, that means they're *legato instruments* and won't have gateoff & proper noteinit. Legato instruments are only meant for lead passages etc. where there is first a note started with a normal instrument, then some tie-note stuff follows (a substitute for 300 command)

To just disable hardrestart, you should use highbit set in the 1stwave/HR parameter, for example $89 or $81. The actual waveform used is then 1stwave/HR AND $7f, leaving the high bit off...



Yes, I will keep dreaming :)
.... and thanks for your help. I will test that soon. :-O
2005-10-31 15:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
It's possible to implement in one of the next updates a short message that shows if a *.sng file is write-protected?
2005-11-01 23:32
cadaver

Registered: Feb 2002
Posts: 1153
V2.16 is out. There is no message, but the save dialog comes up again if there was no write permission (save failed)
2005-11-02 23:12
Tim
Account closed

Registered: Mar 2002
Posts: 467
hi short question,
was checking out goattracker last weekend and was wondering if there is a good general explenation/doc file available for this player?

Up till now i've only used dmc and haven't composed since 1998 or so, so it would be nice to be able to do a little something again ;)

cheers
Bordeaux/Active
2005-11-03 09:27
cadaver

Registered: Feb 2002
Posts: 1153
There is readme.txt in the root dir of GT package, did you already check it out?
2005-11-03 09:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Thank you Cadaver, it works fine. :O

---

Other topic:

I think something is missing :-)
It is possible to play a pulse-instrument like this:

c-2 01 000
d#2 01 000
g-2 01 000
... .. ...

...where the notes are startet like always (hardrestart)
but the pulse keeps on "sliding" (from the first instrument)
I tried to use even the legato feature, but...
but maybe I'm blind? :P
2005-11-03 10:00
cadaver

Registered: Feb 2002
Posts: 1153
Create 2 instruments, where the latter has pulse startpos $00 (keep it unchanged), then use this latter instrument for all notes after the first. The MW4 loader tune example (funktest.sng) does this.

Btw. do not try to use the legato feature for wrong purposes or you get crappy sound :) Legato disables hardrestart/gateoff and 1st frame waveform initialisation, nothing else. As always dutiful RTFM'ing tells you this...
2005-11-03 12:37
Linus

Registered: Jun 2004
Posts: 638
lo,

or simply use one instrument with no pulsetable pointer ($00) and use the pulsetable pointer command (9XX) in the pattern.

greetz
2005-11-03 13:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Oops , I always missed to set the second instruments "Pulsetable Pos" to zero. :)
2005-11-03 22:20
Tim
Account closed

Registered: Mar 2002
Posts: 467
hey Cadaver,
your not going to believe it, but NO, i did not check the txt file.. thanks for pointing out the obvious ;)

Well, on the bright side..
up till now i did not think the name "cadaver" really inviting enough to check out that dir..
Been playing your tracks most part of yesterday and today and really enjoying myself, cool stuff!

cheers
Bordeaux


2005-11-03 22:24
CreaMD

Registered: Dec 2001
Posts: 3035
Quote: hi short question,
was checking out goattracker last weekend and was wondering if there is a good general explenation/doc file available for this player?

Up till now i've only used dmc and haven't composed since 1998 or so, so it would be nice to be able to do a little something again ;)

cheers
Bordeaux/Active


You can even switch to DMC piano layout in comandline parameters when launching GT2. I think if you are used to it you might find it useful (as I did) ;-)
2005-11-03 23:47
Tim
Account closed

Registered: Mar 2002
Posts: 467
Quote: You can even switch to DMC piano layout in comandline parameters when launching GT2. I think if you are used to it you might find it useful (as I did) ;-)

YES! found that reading through the txt file, but thank you for the good tip -> it makes life that much easier indeed!

last question..
is there a 'sounds-pack' available somewhere?
Or possibly someone willing to send me a bunch of sounds?
I'm terrible in doing those myself (which always ends up in me frustratingly smashing joysticks somehow.. hehe).
2005-11-04 00:57
CreaMD

Registered: Dec 2001
Posts: 3035
Quote: YES! found that reading through the txt file, but thank you for the good tip -> it makes life that much easier indeed!

last question..
is there a 'sounds-pack' available somewhere?
Or possibly someone willing to send me a bunch of sounds?
I'm terrible in doing those myself (which always ends up in me frustratingly smashing joysticks somehow.. hehe).


yes there is. ;-) Me and Cadaver organised a GT2 compo at c64.sk few months ago for this purpose. There is a bunch of neat demotunes (SNG) by various authors in /examples directory. Just check'em

roman
2005-11-10 17:55
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I think I found a serious problem :-(

I recognized the problem already some months ago,
but I was not completely sure why it happens.

Example:

On the first channel runs a nice bass-line...
I have to use (for example) the Axy command to filter it,
because the bass needs some special fiters :-)
BUT: On channel 1 I have already some other effects (Fxy, 5xy etc.),
so I have to switch to channel 2 (or 3) because there aren't any
other effect-(cmd's).
Ok, on channel 2 there are some drums & a sweeping
pulse-instrument + VIBRATO (instrument vib.)
and what happends if I use the Axy-cmd's on channel 2 or 3?
The channel's 1 bass is filtered quite fine,
but the instrument-vibrato-effect (channel 2) goes lost.

I didn't found time to test other situations,
but I know this happens even with other effects (Fxy)
If I set it on the "right"-channel (in my example this would be ch.1)
everything is ok, but this isn't always possible.
2005-11-10 21:43
cadaver

Registered: Feb 2002
Posts: 1153
Fixed, download V2.17. (technical explanation: instrument vibrato required at least one effect row of 0xx to initialize, but now initialization happens always at note init)
2005-11-12 14:15
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm, octave selection with / * doesn't work (numeric keyboard)
anymore on my standard keyboard (german layout)
Ok, only the "*" button works and for "/" I have to press SHIFT+"#". :-/
This V-E-R-Y uncomfortable and I hope that is only a bug. :-)

--------

Btw. Is there any possibility to select the gate-bit without any waveform?
I saw that the frequence-values between $60-7F aren't used.......

Example:

41 00
01 7F (freq-value "7F" activates gate-bit only "01")
07 00 (as usual: wavetable delay)
21 00
00 7F (gate-bit will be cleared)
FF 00

However, just an idea - sure not possible without re-writing the sng-format :-P

2005-11-12 15:51
cadaver

Registered: Feb 2002
Posts: 1153
Should be fixed now. Never underestimate how evil SDL is...

Your example is IMO pointless, if you are working within the wavetable you probably know what waveform you want when selecting gateon/off. (*) However, it would only increase rastertime & memory use, not need songformat rewrite.

(*) Exception would be if you have some huge arpeggios which need gateon/off in them, and these are used from different instruments with different base waveforms. Then it would actually benefit song memory use. But I doubt anyone is that crazy, as huge arpeggios often imply long notes, and their gateon/off is easily controlled from the patterns.
2005-11-13 11:57
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Sure? More rastertime & memory usage? :-(

Ok, my idea has something do to with arpeggios (or whatever you like)
If I am not completely wrong the gate-bit could be used for creating echo-like effects. :-O
It's not a good idea to use the test-bit for such things - then you will hear ugly clicks (especially with the trianlge waverform)


example:

ADSR: 00FB

11 00
00 03
00 07
01 7F (just look yourself how it sounds if you set "08 00" instead "01 7F")
06 00 (.. will be delayed)
FF 01 (now you can use the gate-off cmd in the pattern-editor)


You already can use this trick in
the pattern editor, but there it isn't really useful.


c-4 01 000
d#4 01 000
g-4 01 000
--- -- 701
c-4 01 000
d#4 01 000
g-4 01 000
--- -- 701
c-4 01 000
d#4 01 000
g-4 01 000
--- -- 701



but however...
2005-11-13 12:43
cadaver

Registered: Feb 2002
Posts: 1153
Just set the whole waveform value as it is, and duplicate the arpeggio for different waveforms :)
2005-11-14 10:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Just set the whole waveform value as it is, and duplicate the arpeggio for different waveforms :)

Is that the same? The gate-bit shall "mute" the channel. :-)
2005-11-14 22:03
cadaver

Registered: Feb 2002
Posts: 1153
Aha, interesting, it seems I've misunderstood your request the whole time. I thought you wanted a way to control the gatebit (without changing waveform type) within wavetable :)

Oh well...

Very easy way to implement it would be to change the delay to use only values $01-$05 (max. 6 frames delay), then waveforms $06 and $07 could be used for "no waveform" (I think sync/ringmod bits on should cause no ill effect)
2005-11-15 11:55
Bamu®
Account closed

Registered: May 2005
Posts: 1332
;-)

As far I know even Tim Follin used the gate-bit only. Example: Ghouls 'n' Ghosts (subtune 9)
2005-11-15 12:13
Hate Bush

Registered: Jul 2002
Posts: 453
I have been using it too when fiddling with Odin Tracker (does anyone remember?). That would really be useful, but not at the cost of $5 frames delay limit, I think.
2005-11-15 14:53
Bamu®
Account closed

Registered: May 2005
Posts: 1332
if 6, 7.. will be used for this, then some songs have to be adjusted :-)
2005-11-16 01:10
cadaver

Registered: Feb 2002
Posts: 1153
V2.18 out. I did this in most straightforward fashion that only adds 2 cycles per channel & 2 bytes to playroutine, but old songs using values $08-$0F have to be manually converted (yes, it's a bit fascistic but I don't like having duplicate values in wavetable meaning the same thing). As a bonus, you get longer delays.

The new meaning of wavetable left side:
$00-$0F Delay for 1-15 frames
$10-$DF Usual waveforms
$E0-$EF Inaudible waveforms (reg.values $00-$0F)
$FF Jump (as usual)

If you previously had testbit with values $08 or $09, those would be $E8 & $E9 now.
2005-11-16 12:49
Hate Bush

Registered: Jul 2002
Posts: 453
> As a bonus, you get longer delays.

That's not a bonus, that's a significant improvement. Slow arps in multispeeds without sacrificing half of the wavetable - at last *hugs Lasse*
2005-11-16 18:17
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: V2.18 out. I did this in most straightforward fashion that only adds 2 cycles per channel & 2 bytes to playroutine, but old songs using values $08-$0F have to be manually converted (yes, it's a bit fascistic but I don't like having duplicate values in wavetable meaning the same thing). As a bonus, you get longer delays.

The new meaning of wavetable left side:
$00-$0F Delay for 1-15 frames
$10-$DF Usual waveforms
$E0-$EF Inaudible waveforms (reg.values $00-$0F)
$FF Jump (as usual)

If you previously had testbit with values $08 or $09, those would be $E8 & $E9 now.


Hoho, 1-F delay is really cool!
Thanks, thanks, Cadaver - Everything works fine. :-o
2005-11-21 11:59
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Hoho, 1-F delay is really cool!
Thanks, thanks, Cadaver - Everything works fine. :-o


Cadaver, you ever thought about to port GT2 to c64? :-)
I saw that there is no as good/comfortable player for c64.
All of them are unnecessary complex or have a lot of disadvantages

Asterion Sid-Tracker V1.0: There is too much on the screen...

CyberTracker 1.01: High rastertime usage. Wavetable creation is unhandy.
File size too big.

Odin Tracker 1.13. IMO not as advanced as GT2. High rastertime usage,
no different Hardestart-settings (?)

The interface of GT2 v.c64 could/would look like this:

http://rapidshare.de/files/7943519/GT2_c64_interface.zip.html
2005-11-21 15:51
cadaver

Registered: Feb 2002
Posts: 1153
Yes I have thought of it but it would be quite crippled. For example 128 patterns unpacked would already eat 32KB of memory and that's if they're at the default length of 64. And the editor is by now so complex that it would no doubt eat quite a bit of memory too. Plus I'd have another version/update-hell on my hands...

Your interface is nice btw. But the hellish interface I envisioned would put everything in one screen :)
2005-11-22 08:53
Steppe

Registered: Jan 2002
Posts: 1510
Just make it use the REU or the AR/RR RAM then! Come on, a composer who wants it all will definitely have one of the above solutions, or just buy it when needed. ;-)
2005-11-22 12:25
Linus

Registered: Jun 2004
Posts: 638
lo,

I second that! :)

Greetz,
Linus/Viruz
2005-11-22 13:14
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Yes I have thought of it but it would be quite crippled. For example 128 patterns unpacked would already eat 32KB of memory and that's if they're at the default length of 64. And the editor is by now so complex that it would no doubt eat quite a bit of memory too. Plus I'd have another version/update-hell on my hands...

Your interface is nice btw. But the hellish interface I envisioned would put everything in one screen :)


Everything on one screen? I'm not sure, but I think that this would be very uncomfortable. I would put the instrument-editor + tables on the second screen, because people usually make their instruments first and afterwards they edit the patterns and orderlist.

... something with the mmc64 could/would be cool. :-)
2005-11-22 13:21
Twynn
Account closed

Registered: Nov 2005
Posts: 9
Quote: Yes I have thought of it but it would be quite crippled. For example 128 patterns unpacked would already eat 32KB of memory and that's if they're at the default length of 64. And the editor is by now so complex that it would no doubt eat quite a bit of memory too. Plus I'd have another version/update-hell on my hands...

Your interface is nice btw. But the hellish interface I envisioned would put everything in one screen :)


Hmm.. This means you use 4 bytes for each position in a patern?
It should be possible to put 256 or even 512 unpacked paterns in 32KB + 1 or 2 KB extra when using pointers to that 4-byte combination.

But I can imagine that it is another tough job to keep things updated. I tried my own editor years ago but never finished it. Memory was one of the problems..
2005-11-22 17:11
cadaver

Registered: Feb 2002
Posts: 1153
Hmm, I would absolutely refuse to rely on any kind of extra memory.. And by the way doing stuff you have zero personal need for no compensation is not good for sanity :)
2005-11-22 19:03
Mihai

Registered: Feb 2002
Posts: 29
you guys! let Cadaver work on the game too :P
2005-11-24 15:08
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi,

little problem:

Why the following thing does not work?

channel 1: plays a melody & the filter-setting is
in the instrument (no filter-loop like "FF 01")

I want to use the Bxy command to filter temporary channel 1+2 (BF3),
but this does not work (even it is on the "right" channel)
Shouldn't the Bxy cmd overwrite the instrument-settings?
2005-11-24 21:06
cadaver

Registered: Feb 2002
Posts: 1153
The order of execution on each frame is:

- Execute filtertable
- Execute channels 1-3 & their commands

The pattern command Bxx gets executed on the note initframe. Also at same time the filtertable-pointer is set, so that it will be executed next frame. So on next frame, the value set by Bxx will be overwritten by the filtertable program (if it has a "set parameters"-step, that is)

This behaviour cannot be changed in any sensible way. But you can do an alternate filtertableprogram which jumps back to original tableprogram after setting the alternate parameters, and activate it using Axx command.

Btw. the manual doesn't say anywhere that Bxx would override anything. Imagining things isn't healthy, by now all player "features" work just as they're supposed to :)
2005-11-25 19:44
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Yes I have thought of it but it would be quite crippled. For example 128 patterns unpacked would already eat 32KB of memory and that's if they're at the default length of 64. And the editor is by now so complex that it would no doubt eat quite a bit of memory too. Plus I'd have another version/update-hell on my hands...

Your interface is nice btw. But the hellish interface I envisioned would put everything in one screen :)


Let it say me so: It would be a challenge to port your MAGIC player to c64. :-O
The power of GT was always that it is v-e-r-y userfriendly - something that is quite rare on the real machine.
Sure, available memory is a problem - but can be solved:
just limit wave/pulse/filter-tables, orderlist, insruments and move the packer outside - then enough memory should be left for an accurate/userfriendly port.
It even could help to use the standard playroutine only (Buffered/unbuffered) and limit multi-speed-songs. :-)
A c64-GT does not require "daily" updates at all. I think if the c64-release would have GT2 v2.18 status, then e-v-e-r-y-b-o-d-y will be happy for the next 10 years.

Just today I was looking through the HVMEC and I was really shocked about the most players:
I'm not sure what programmers think, but it must be something like this: "Which kind of difficulties I can create, in order to make the composers life much difficult?"
It's really not satisfying to enter tons of useless commands in order to get any Sound.

That's why I use GT2: It has a intuitive interface, really "clever" keyboard commands and it overtakes all necessary steps that makes the composers life easier.
In fact GT2 only has an ORDERLIST, INSTRUMENT-editor, a WAVE/PULSE/FILTER-table and a PATTERN-editor with powerful EFFECTS :-)

The most C64-CODERS forgot, that a composer WANT to hear the sound he is entering.
I think something like this shouldn't be a special feature, but obvious.
2005-11-25 21:08
cadaver

Registered: Feb 2002
Posts: 1153
Hearing sound on note-entry depends on architecture of player. Maybe most didn't want to (partially) rewrite it just for that :)

Remember, C64's keyboard is severely limited compared to PC, so there goes the "easy" interface... just think of the cursors for example. To get an idea of the possible comfort level you could try Ninjatracker on a real C64. Of course it has more sadistic pattern & tabledata but you get the basic idea.

Everything is a matter of preference, you obviously (like me as well) have a background in trackers, but for several excellent composers for example JCH or DMC system is greatly preferred and tracker system is inferior.
2005-11-26 09:18
Raf

Registered: Nov 2003
Posts: 343
if 64 is too limited , how about GT128? ;-) ofcourse using VDC's 80x25 and full 128k internal memo :P
2005-11-26 10:22
cadaver

Registered: Feb 2002
Posts: 1153
Yes please, the GPL perfectly allows you to do that.
2005-11-26 18:26
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Yes please, the GPL perfectly allows you to do that.

... and I really wonder why I never saw a hacked GT around the net :-P

I think that the most people use the GPL "feature" just for minimal code changes......
BUT, if I had any knowledge I would code that little PWM & $D418 digi-player
that runs fine with GT - even I do not like digis really much. :-)
You can be sure that people would rediscover the possibilities of 3+1 tunes by composing again tons of music.

@Raf
Just a few people have a c128 and are composers :-)
2005-12-02 14:56
Hein

Registered: Apr 2004
Posts: 933
What is 'TABLE EXECUTION OVERFLOWS' ?
2005-12-02 15:13
Raf

Registered: Nov 2003
Posts: 343
Quote: ... and I really wonder why I never saw a hacked GT around the net :-P

I think that the most people use the GPL "feature" just for minimal code changes......
BUT, if I had any knowledge I would code that little PWM & $D418 digi-player
that runs fine with GT - even I do not like digis really much. :-)
You can be sure that people would rediscover the possibilities of 3+1 tunes by composing again tons of music.

@Raf
Just a few people have a c128 and are composers :-)


I'm a lucky owner of two 128s (128 '86 and 128Dcr '88) ... both gained this year. what a wonderful celebration of 128's 20th anniversary!
2005-12-02 16:50
cadaver

Registered: Feb 2002
Posts: 1153
Hein: missing endjump from wave/pulse/filterprogram, or you use a pattern command to direct wave/pulse/filter execution to nothingness...
2005-12-02 17:20
Hein

Registered: Apr 2004
Posts: 933
Quote: Hein: missing endjump from wave/pulse/filterprogram, or you use a pattern command to direct wave/pulse/filter execution to nothingness...

Ok, thanks.. I didnt know I had to use an endjump too, I thought $ff 00 is end of execution and continue with last value..

But I had pattern command 9 instead of 6, I must have been tired. Fixing that didnt solve the problem though, so Im still searching for that faulty 8,9 or A command somewhere in the patterns.. mmmm, if I press Y it plays correctly, maybe I'll leave the hidden patterncommand. Whats a balad without anoying and uptight command anyway.
2005-12-02 17:47
Hein

Registered: Apr 2004
Posts: 933
Quote: Hein: missing endjump from wave/pulse/filterprogram, or you use a pattern command to direct wave/pulse/filter execution to nothingness...

ayes, the reference to oblivion..
2005-12-02 20:32
cadaver

Registered: Feb 2002
Posts: 1153
FF 00 is also a jump :)
2005-12-02 20:42
Hein

Registered: Apr 2004
Posts: 933
Quote: FF 00 is also a jump :)

ok.. a jump to nothingness too?
2005-12-02 20:43
cadaver

Registered: Feb 2002
Posts: 1153
No, it stops execution.
2005-12-02 20:50
Hein

Registered: Apr 2004
Posts: 933
Quote: No, it stops execution.

hehe. Ok.
2005-12-04 01:53
cadaver

Registered: Feb 2002
Posts: 1153
At http://covertbitops.c64.org/tools/tweak2.zip there is now an updated tweak utility. It loads, saves, plays and hex-edits GT V2.xx songs on C64.

I guess this is as close to GT2 on C64 as you're going to get (from my side), but beware, it's not very userfriendly and of course not meant for composing any new stuff, only tweaking parameters of existing songs for optimum SID output.

2005-12-04 18:00
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Heeee, thats really fine!
I will go and test it now :-)
2005-12-09 19:04
Linus

Registered: Jun 2004
Posts: 638
lo,

is there any chance for a modified version of goattracker that allows to disable multispeed vibrato in multispeed songs? that would rock!

greetz
2005-12-09 22:35
cadaver

Registered: Feb 2002
Posts: 1153
Not really, or I mean at least I'm not terribly interested. The player was made to be totally oblivious of multispeed and obviously changing it suddenly would be painful.

Though I can instruct how to do a dirty hack for 2x, 4x etc.:

In playerx.s (where x is player of your choice) add one LSR/ASL pair for 2x and two for 4x etc. For example 2x:

mt_effect_4: tay
mt_vibparam1: dc.b $ff,$00
LSR
sta mt_temp1
tya
mt_vibparam2: dc.b $ff,$00
ASL
sta mt_effect_4_cmp+1

and correspondingly in gplay.c

if (!usefinevib)
{
speed = (swapnybbles(cptr->cmddata) & 0xf0) >> 1;
cmpvalue = ((cptr->cmddata >> 4) & 0x0f) << 1;
}
else
{
speed = (swapnybbles(cptr->cmddata) & 0xf8) >> 1;
cmpvalue = ((cptr->cmddata >> 4) & 0x07) << 1;
}

Btw. any modified/special versions of course suck, initially I envisioned totally tablebased vibrato/portamento for 16bit speed and 8bit depth control but decided it might have been a bit unwieldy to use :)

Hmm... though now I have an idea, the packer/relocator could create a vibratotable internally, with those ASL/LSR's premade. It would still suck through increased memory use though :)
2005-12-10 12:59
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi,

Maybe you could add a key that converts absolute notes to relatives (based on c-2)
Then every table would has it "little" helper... :-)



2005-12-10 13:52
cadaver

Registered: Feb 2002
Posts: 1153
Can you tell me why you'd need it? And shouldn't the "base-note" be selectable for this conversion to be useful?
2005-12-11 01:19
cadaver

Registered: Feb 2002
Posts: 1153
I thought what the hell, GT V2.2 is out, adds new speedtable for better control of vibrato, portamento speed and funktempo. Should be especially useful on multispeeds. Downside is that it'll be harder to manage (RTFM and it will help, there's a keyboard command SHIFT+RETURN to convert oldstyle parameters to speedtable entries)

Adding the speedtable meant also fileformat change that is backwards incompatible. GT V2.2 loads & auto-converts the old format of course :)

Also added that relative/absolute conversion (SHIFT+R). It will use the basenote C with currently selected octave.
2005-12-13 12:29
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, now I have testet everything: It seems that everything works quite fine. ;-)
It's really amazing - your work for GT is very remarkable!!!!!

2005-12-14 13:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
... one last wish :-)

It would be nice, if we could copy rows of effect cmd's.
I saw that you can mark tables, patterns, but not just the effects...
2005-12-14 19:29
cadaver

Registered: Feb 2002
Posts: 1153
Actually marking effect rows would be too painful, as the marking actions has been written as they are (ie. only up-down movement) long time ago :)

However you remember Shift+R which normally pastes one row of effects when used with Shift+E? Now it will paste multiple rows of effects once you've put something to the pattern copybuffer.

Also rewrote followplay to remove unnecessary code. Now you can theoretically "edit" while followplay-ing, though it's not to be recommended..

Didn't feel like incrementing the versionnumber for this, so just redownload V2.0 :)
2005-12-14 19:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:-)
2005-12-18 12:01
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Effect commands aren't kept in the memory anymore. :(
(introduced with the latest version)
My requested "copy more rows of effects to memory" feature works quite fine (Btw, thank you Cadaver!), but the following " thing isn't there anymore.
Now: If I copy something with SHIFT+C to memory the last effect stored with SHIFT+E is replaced with the effect from SHIFT+C.
In the old version SHIFT+C and SHIFT+E had seperate memory writes (?) :-)
2005-12-18 14:46
cadaver

Registered: Feb 2002
Posts: 1153
You wanted to be able to copy several effect rows, this is the price you pay. Propose me a solution which includes both behaviours you want, doesn't require any extra keys AND doesn't require to be able to mark effects separately, then we'll see.
2005-12-19 10:06
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Why not use SHIFT+E for copy more rows of effects (when a pattern is marked) instead of SHIFT+C ? :-)
2005-12-19 10:44
cadaver

Registered: Feb 2002
Posts: 1153
Yes, that is possible.
2005-12-19 10:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:-O
2005-12-20 01:59
cadaver

Registered: Feb 2002
Posts: 1153
V2.21 out, should work like that now.
2005-12-23 18:39
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm, SHIFT+O does not work (?)
2005-12-23 18:57
cadaver

Registered: Feb 2002
Posts: 1153
It wasn't removing unused entries from end of table. Now it does.
2005-12-23 18:58
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, thanks! :)
2005-12-25 13:15
Hein

Registered: Apr 2004
Posts: 933
Sometimes I use $09 as extra starting wave in a wavetable to get rid of the highfi tick at the beginning of some instruments. This seem to work differently with v2.2 and up, the instruments don't get played at all for some reason. Im not sure if this is a tweaked feature or a tweaked bug. Its not extremely important, because I noticed it causes a lower frequency tock, instead of a highfi tick anyway, so I guess its better to use a triangle $11 wave to get rid of the highfi tick. (I like the highfi tick on some instruments, so I wont change the gateoff timer to 1, because then I have no tick at all..)

Anyone a hint on how to convert my gt2.1 tunes to gt2.2 without fixing anything in the wavetables.. :)
2005-12-26 01:07
cadaver

Registered: Feb 2002
Posts: 1153
The silent waveforms changed some time back, you need to put $e9 (table values $e0-$ef for waveform values $00-$0f) Of course you can always write an utility to do that automagically...
2005-12-26 11:58
Hein

Registered: Apr 2004
Posts: 933
Quote: The silent waveforms changed some time back, you need to put $e9 (table values $e0-$ef for waveform values $00-$0f) Of course you can always write an utility to do that automagically...

Thanks for the info.. I've just finished lesson 2 of c64 c0ding, so I guess the utility is a bridge too far.. I will just keep the different versions on my hd. I dig the vibratotable though..

Does this also mean that values 00-0f in wavetable are now the wavetable delay values for good use to the 8 speed junkies?

2005-12-26 12:20
Linus

Registered: Jun 2004
Posts: 638
lo,

exactly =)

greetz,
linus
2006-01-02 12:17
Bamu®
Account closed

Registered: May 2005
Posts: 1332
It's possible to use an instrument that uses two frames hardrestart but not the $9?
Ok, it's not often used but it would be nice if it could be activated from "Hardres/1stWave".
2006-01-04 12:47
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Speedtable problem:

How do I recognize when I press "SHIFT+RETURN" over the effect parameter, if it is created a NEW entry or Goat "links" me just to a table that is already used (maybe for vibrato etc.)?
2006-01-07 14:50
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cadaver? :-)

Cadaver, maybe you could add a feature that allows to transponse notes down in the wavetable. Maybe with SHIF+N (Negate) for about $F values max? :-)

Example:

21 00 ; played on c-2
41 -1 ; played on b-1
21 00 ; played on c-2
FF 00

Btw. In the manual you wrote "Note that you should never jump directly onto a table jump command (FF) ..."

However, I used an Axy cmd that points to a FF to stop filter execution (without disconnect filter). It seems that it works fine, but is this the right way?

2006-01-07 21:38
Kenho
Account closed

Registered: Jan 2003
Posts: 26
Was just wondering about recompiling the c64 player source. Isnt it a bit akward to have the players as a constant in the c source for the tracker? could you make them loadable instead so that one can recompile the player and not the whole package (i mean tracker+players+tools+??)? or is that not doable?

/K

2006-01-07 22:00
cadaver

Registered: Feb 2002
Posts: 1153
Hmm, isn't typing "make" convenient enough? It should only rebuild what is needed...
2006-01-07 22:56
cadaver

Registered: Feb 2002
Posts: 1153
Nata:

- The way the player is built, there is always one frame of total inactivity in the voice. The $09 frame masks it. Furthermore, the way ADSR writes are ordered, it would sound like shit anyway. You simply need different kind of playroutine (as in old GT) to use it successfully.

- Typically new speedtable entries are created to its bottom (unused space.)

- V2.22 adds SHIFT+N to create negative relative notes (7F is -1 and has always been, but now it's more "accessible") :)
2006-01-08 17:03
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi,

Haa, I never recognized that this "negative notes" feature is already there. :-O
Many thanks, anyway!!!!!

---------

If song contains tons of speedtable entries you sure won't recognize anymore what the last values were. (Number 2B or maybe 2D?).

Maybe this could be a solution:

If a NEW entry is created, then the cursor (or background color) in the speedtable remains GREEN.
If it points to an already used entry then it flashes RED.

I think this would be v-e-r-y useful, and avoid from damaging other entries. :-)



2006-01-08 21:46
cadaver

Registered: Feb 2002
Posts: 1153
Hmm, didn't want to bother with the colors but if you redownload V2.22 (yes I'm lazy), you will now see the speedtable cursor move into position if a new entry was created. Otherwise it stays where it was.
2006-01-09 13:30
Bamu®
Account closed

Registered: May 2005
Posts: 1332
cadaver wrote:
"- The way the player is built, there is always one frame of total inactivity in the voice. The $09 frame masks it. Furthermore, the way ADSR writes are ordered, it would sound like shit anyway. You simply need different kind of playroutine (as in old GT) to use it successfully."

Anyway, last week when I did the "Killing Fields" 1:1 cover I solved problem. I have put $08 for instrument B and it sound same as the original :-)

http://noname.c64.org/csdb/release/download.php?id=29861
2006-01-09 15:48
cadaver

Registered: Feb 2002
Posts: 1153
Interesting.. Do you have 1 in the gateoff timer then?
2006-01-10 14:40
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Interesting.. Do you have 1 in the gateoff timer then?

Hmm, no... (?)
:-)
2006-01-10 20:59
cadaver

Registered: Feb 2002
Posts: 1153
Aha, ok, it just means that by having gatebit off on the first frame, the hardrestart becomes 3-frame :) But it probably sounds better that way.
2006-01-11 19:15
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmmmm,

Hmm!? 3 frames?!

Today I do not understand anything at all :-(

Maybe I formulated the sentence completely wrong...

I have thought: "instrument B" uses for "hardres/1stwave" > $8 < instead of $9 or $1.
The original song of "Killing Fields" used for that instrument only the standard
gateoff timer 2 without an $8, $9, or $1 on the first frame.
However, in GT I had to use $8 to achieve the same effect. :-)

--------------

Btw. just a thought :-)

As far as we know 8580 filters are "linear".
If I use f.e:

01 90 F1
02 01 01
03 FF 02

a filtered (maybe a deep bass-sound) sound does not sound as good like an old 6581
My idea is to combine (tons of) different "time-based steps" to a achieve a NON LINEAR sound on the 8580.
I already tried this (by hand), but it is very complex and inaccurate. :-(
Maybe a "magic" cmd tool could help to calculate everything? :-O

My other thought was to implement some "magic" routines into the player that can simualte NON LINEAR FILTERS.

Some routines that mybe works this way:

Usually if you write this to the filters:

01 90 F1
02 01 01
03 FF 02

this is written to the SID,

0100
0200
0300
0400
0500
0600
0700
0800
0900
0A00
0B00
0C00
0D00
0E00
0F00
1000
1100
1200
1300
1400
1500
1600

The magic routine should write this (or similar)
to achieve a 6581 (filter) sound:
[if possible stay quite long on low values like 0100-0800]

0100
....
....
0200
....
....
....
0300
....
....
....
0400
....
0500
....
....
0600
....
....
....
0800
....
0A00
....
....
....
....
....
0E00
....
1200
....
1600
....
1A00
....
1E00
....
....
2200
....
2600
....
2A00
....
2E00
....
3200
....
3600
....
3A00
....
....
....
3E00
....
4200
....
4600
....
4A00
....
4E00
....
5200
....
5600
....
5A00
....
5E00
....
6200


Ok, enough for today :-)

2006-01-11 20:49
Richard

Registered: Dec 2001
Posts: 619
I've managed to work out a few things on how to use Goat Tracker V2.0 The way I compose music with this tool, sounds pretty similar to the way I done music with the old DMC. Actually the tunes do sound like DMC in a kind of way. I'm pleased with the result.

Nice one Lasse :)
2006-01-12 12:24
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, my idea is somehow visionary, but maybe it is only far ahead of this time?!
2006-01-12 12:55
cadaver

Registered: Feb 2002
Posts: 1153
Nata: you'll need to find a suitable codeslave to create a custom GT version. The idea is not that hard (just a lookuptable to map the 256 possible linear cutoff values to a curve, that likely can be configurable, or maybe even autodetectable according to SID-revision). But to me personally adding any nonlinear effect, or different behaviour according to autodetection, is outside the scope of what I consider playroutines need to have.
2006-01-12 17:01
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Nata: you'll need to find a suitable codeslave to create a custom GT version. The idea is not that hard (just a lookuptable to map the 256 possible linear cutoff values to a curve, that likely can be configurable, or maybe even autodetectable according to SID-revision). But to me personally adding any nonlinear effect, or different behaviour according to autodetection, is outside the scope of what I consider playroutines need to have.

Ok, just another dream that never becomes true :_(


Well, is there any "codeslave" out there who is able to do that?
2006-01-13 12:00
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Something other:

But, a GT (1.5x and 2,2) depacker is possible? + comes from you :-)
2006-01-13 12:35
cadaver

Registered: Feb 2002
Posts: 1153
No. (some respect for the composers, if they don't intend the source to be seen then at least you must be arsed to go through siddump etc. to see what they did. It could be argued that even siddump is too destructive - stagnation-encouraging - and shouldn't have been released, but I did it mainly to spite sid2midi's author :))
2006-01-13 17:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:-)

Ok, it was because I erased some *.sng's by mistake (but I do have the SID) :-O
Maybe the depacker could ignore protected *.sng's....
2006-01-13 18:05
cadaver

Registered: Feb 2002
Posts: 1153
Oh great, now we're talking about DRM in GT :) No, not inspired enough to spend several hours coding just for your carelessness.. for your credit you're not yet at the Paul Panks level of data recovery desperation (ie. turning to the spiritworld for assistance) :)
2006-01-13 18:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Oh great, now we're talking about DRM in GT :) No, not inspired enough to spend several hours coding just for your carelessness.. for your credit you're not yet at the Paul Panks level of data recovery desperation (ie. turning to the spiritworld for assistance) :)

Ok, let's forget that depacker :)

What is planned next for GT?
2006-01-13 18:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Oh great, now we're talking about DRM in GT :) No, not inspired enough to spend several hours coding just for your carelessness.. for your credit you're not yet at the Paul Panks level of data recovery desperation (ie. turning to the spiritworld for assistance) :)

Ok, let's forget that depacker :)

What is planned next for GT?
2006-01-13 19:54
cadaver

Registered: Feb 2002
Posts: 1153
Nothing, I hope.
2006-01-14 13:05
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:-)))))))
2006-01-14 14:39
Hein

Registered: Apr 2004
Posts: 933
Quote: Ok, let's forget that depacker :)

What is planned next for GT?


Now we make music with it, I guess..
2006-01-15 13:26
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cadaver, maybe you could give me some advice to create my own depacker?
How do I have to start? :-)
2006-01-15 14:04
cadaver

Registered: Feb 2002
Posts: 1153
The main problem is that the packed tunes don't store all info about the song (like amount of subtunes, patterns and instruments, lengths of wave/pulse/filtertables) so you'd have to look into the player code to find the addresses & lengths of the different data areas.

Of course, there exist several versions of the players, so that isn't easy either :)

The order of data (after the playroutine) is
- Instrument parameters
- Wavetable (left side first, then right)
- Pulsetable
- Filtertable
- (Speedtable)
- Song-address table
- Pattern-address table
- Song orderlists
- Patterns

Also, reverse-engineer either the packer/relocator module (greloc.c) or the players to understand the format of each data-area :)
2006-01-15 14:06
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, thank you very much Cadaver.

It will be probably quite hard to code this. (for the coder)
2006-01-16 13:39
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cadaver, what do you think about live switching between 1x - 4x mode?
... and a key that allows to multiply/divide the speed (filter, pulse, speedt.)
in a separate way. (would save a lot of time)
Maybe it even could be useful to include a feature that adds rows of E9 00 to begin the wavetable. (would even save a lot of time when switching between 1x - 4x mode)
2006-01-16 15:41
Linus

Registered: Jun 2004
Posts: 638
lo,

what about changing the scrolling behaviour of the wave-, pulse-, filter- and speedtables? It would be very useful if they scrolled down seperately.

E.g. I create a snare-sound in 4x and need $18 wavetable steps to describe it. Now I want to give every wavetable a different filter value. Wavetable range is from $01 to $18 and filter table ranges from $20 to $32. In that case it would be *very* useful if I could scroll down the filtertable only without having the wavetable scrolling down too. In the current version I have to look at the wavetable values, scroll down, edit the filtertable, scroll up, take another look at the wavetable values, scroll down etc. So every table scrolling on it's own would make life much easier =)

Greetz

2006-01-16 15:55
cadaver

Registered: Feb 2002
Posts: 1153
Yes, this been asked before, I didn't warm up to the idea then. At least it'd have to be switchable off..

Edit: done in V2.23 (out now). Unlock table scrolling by pressing SHIFT+U. And now, shut up everyone :)

2006-01-16 17:58
Linus

Registered: Jun 2004
Posts: 638
lo,

great, thanks Cadaver! =)

Greetz
2006-01-17 12:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Yes, this been asked before, I didn't warm up to the idea then. At least it'd have to be switchable off..

Edit: done in V2.23 (out now). Unlock table scrolling by pressing SHIFT+U. And now, shut up everyone :)



;-)
2006-01-19 18:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Heeeeeee, Cadaver! :-)
But you missed/haven't read my previous post. ;_(

Btw. You forgot to fix Shift+Ins for the wavetable
E0 00 instead of 09 00.

2006-01-19 22:20
cadaver

Registered: Feb 2002
Posts: 1153
Fixed, live-multiplier change added (Shift+F5/F6), redownload.

Multiply/divide won't be there because I don't like the idea of guessing what a speedtable command is used for (true evil composer might use same table entry for multiple commands) and skilled composers multiply hexadecimal faster in their heads than the computer...

Now shut up for real :)
2006-01-20 12:03
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:-)

I already have some other nice idea, but I'm sure you does not want to hear anything from me (once again) :-P
:-)
2006-02-08 10:19
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi,

what do you think about different Hardrestart-ADSR settings for each instrument?
The problem is that some instruments sounds often better, if they are played with 0000, F000, 3000, or something else. :)
On the other hand, if I play the whole song with 0000 it messes up the whole volume settings.


2006-02-08 11:23
dalezy

Registered: Apr 2002
Posts: 475
cadaver, you have my compassion. =)
2006-02-08 21:15
cadaver

Registered: Feb 2002
Posts: 1153
I think it's kind of impure and nitpicking. You sure can do nice tunes without that feature. Plus song-format changes are not fun. I guess another feature for your codeslave-edition :)

A kind of loosely related example: now that I use Cubase instead of selfprogrammed multitrack called Goatstudio, which had no per-channel EQ, effects etc., making recordings isn't so much fun anymore, it's hard work :(
2006-02-09 12:48
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well, if this means that you have to change the song format - then let's forget this feature :)
On the other hand it would be very nice, if we could edit the Hardrestart ADSR parameter in the editor instead in the *.cfg
This way it would be quite easy to test different parameters without exit the editor :-O
2006-02-10 22:11
cadaver

Registered: Feb 2002
Posts: 1153
Shift+F7 (you know the drill)
2006-02-11 10:08
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Shift+F7 (you know the drill)

Thank you very much, Cadaver!

Now, I really shut up....
2006-02-11 10:37
cadaver

Registered: Feb 2002
Posts: 1153
Also added Shift+F8 to toggle SID models as a sort of preventive measure. :)
2006-02-11 10:39
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:-)
2006-02-11 12:11
Linus

Registered: Jun 2004
Posts: 638
lo,

haha =)

Nice one, Cadaver.

Now one last wish (easy to implement)...
Speech to ringmod conversion. (SHIFT+F12)

Just add a text input table that automatically converts the text to ringmod generated speech in the actual pattern.





















* Linus runs ... ;)
2006-02-11 19:13
cadaver

Registered: Feb 2002
Posts: 1153
Mmm.. that is not much worse than sideways sample playback :)
2006-03-05 17:39
Hein

Registered: Apr 2004
Posts: 933
Is there a way to have slow portamentos at 4x?
When I have values 01 01 in my speedtable and refer to it with one of the portamento commands, its just too fast for the low octaves..

(if not, its fine too, I will just blame Linus for talking me into creating 4x tunes)
2006-03-05 18:48
cadaver

Registered: Feb 2002
Posts: 1153
If 00 01 isn't slow enough for you, then I can't help you :)
2006-03-05 19:23
Hein

Registered: Apr 2004
Posts: 933
ah, thanks.. my Vulcan logic didnt come up with 0-speed. I'll try it right away.
2006-03-05 19:24
cadaver

Registered: Feb 2002
Posts: 1153
It's not really 0-speed, but the 16-bit value $0001 (RTFM :))
2006-03-05 19:26
Hein

Registered: Apr 2004
Posts: 933
Quote: It's not really 0-speed, but the 16-bit value $0001 (RTFM :))

awww.. cute.
2006-03-14 13:42
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

What is this?
"OSX port of GoatTracker V2.25."

bye!
2006-03-14 14:46
cadaver

Registered: Feb 2002
Posts: 1153
GT2 for Macs with OS/X.
2006-03-14 17:21
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Aha, thanks for the info!
2006-03-17 09:36
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi, maybe it could be very useful if "SHIFT-O" (optimize) would work in the other tables, too. It should remove unused entries that aren't connected to an instrument or command..., but if the routine finds a "FF XX" (that points to another table entry) - it will not be touched :-)
---
Is the following feature possible (without coding day and night)?
The "feature" should remove every unused instrument + tables and patterns (that aren't in orderlist, but contains data) that aren't used... (maybe from SHIFT-ESC menu)

2006-03-17 11:29
cadaver

Registered: Feb 2002
Posts: 1153
It is possible, but do you remember that the relocator already optimizes everything unused out?
2006-03-17 11:33
Linus

Registered: Jun 2004
Posts: 638
lo,

I found a bug, finally \o/

If one puts FF FF into the speedtable (e.g. on step 1) and then points to it via 4xx the packer says "TABLE POINTER JUMPS TO A JUMP" and refuses to pack.

This GOTTA be fixed since FF FF is the most commonly used vibrato speed ;)) I can't use Goat anymore in case that nasty one doesn't get removed, hehe

Linus hides again ;)
2006-03-17 11:42
JackAsser

Registered: Jun 2002
Posts: 1989
Cadaver: Btw, would it be a quick fix for you to create an alternative mode 4 packer so that for multispeed tunes runs only one time and create speedfactor-1 shadow ZP-registers and directly write the first run to the IO?

So, for a 4x-tune a jsr $1003 would do:

1) First loop store to $d4xx.
2) 2nd-4th loop store to unique shadow-ZP registers.

Also some channel unrolling optimization option etc. would be VERY nice. Either you fix it quickly now or I get dirty in the source myself? Just wanted to shout out the question before I start haxx0ring in your sources. :D
2006-03-17 13:22
cadaver

Registered: Feb 2002
Posts: 1153
No, that doesn't sound like a quick fix :) and seems more fitting for personal customization. What is channel unrolling anyway?

Btw. the bug was fixed and working on the optimizer, release of v2.26 is imminent.

EDIT: out now. Save song before optimizing (SHIFT+ESC), it removes everything unused. Also, remember that the packer/relocator already optimized the data fully, so it's not necessary unless you want to clean up the .SNG-file or desperately need the empty space in tables etc.
2006-03-17 14:12
JackAsser

Registered: Jun 2002
Posts: 1989
@cadaver: channel unrolling is to multiply the code for each channel and not use ,x and ,y everywhere. Eats more memory but gets rather much faster. I did that with GT1.x, not sure it applicable on GT2.x though, havn't checked your source there yet.

Anyway, I'll do that ZP thingie myself then. Or atleast look at it.

2006-03-17 18:39
cadaver

Registered: Feb 2002
Posts: 1153
Ah yes, as in John Player. Did you then also scrap most of the channel variables and replace access to them with LDA #$xx + modifying the LDA?
2006-03-17 22:08
cadaver

Registered: Feb 2002
Posts: 1153
Btw. now v2.27 is out which adds orderlist marking for copy/paste (as with patterns & tables)
2006-03-18 09:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Thank you very much Cadaver! Everything is perfect!
Now it is a completely new feeling to compose a song :-)

---

But "Shift-ESC" will fail (testet v2.26) if a song contains patterns that are longer than 64, or if there are different lengths (22, 32, 64 etc.) in a song.

Anyway, this isn't any bigger problem for me.
2006-03-18 10:55
Steppe

Registered: Jan 2002
Posts: 1510
I want a GUI version with pulldown menus!!! Now swallow this, Lasse! ;)
2006-03-18 12:14
cadaver

Registered: Feb 2002
Posts: 1153
Optimizer should be now fixed (redownload v2.27).

Steppe: there is the system pulldown menu :)
2006-03-18 18:53
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Optimizer should be now fixed (redownload v2.27).

Steppe: there is the system pulldown menu :)


Thank you Cadaver! :-O
2006-03-18 23:52
cadaver

Registered: Feb 2002
Posts: 1153
Be careful of what you ask for, now (v2.28) I've added a certain feature which opens the gates of netherworld wide for hordes of clueless lusers to devour the music scene and leave nothingness. Ha, ha, ha, ha. Hm, hm, hm, hm...!!!
2006-03-19 01:52
dalezy

Registered: Apr 2002
Posts: 475
that last reply sounds so damn sexy, i'm almost up to trying gt after 5 years again .. then again, no, jch is a hot beast, i'll stick to that one. =)
2006-03-19 16:13
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Be careful of what you ask for, now (v2.28) I've added a certain feature which opens the gates of netherworld wide for hordes of clueless lusers to devour the music scene and leave nothingness. Ha, ha, ha, ha. Hm, hm, hm, hm...!!!

Whhooops! I have quoted steppe's message by mistake...
This "thank, you Cadaver" was for the optimizer feature .... :=

I don't need mouse support, but anyway......
now i will test this it... :-)
2006-03-19 16:26
Bamu®
Account closed

Registered: May 2005
Posts: 1332
quick testet:
seems to be very nice! (and maybe sometimes useful) ;)
2006-03-22 12:07
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Why GT1+2 takes so little rastertime?

It doesn't matter how much I torture it, it's always between $10-$12 lines (seldom $13)
Why all these c64 based players (I testet: DMC 5, Jeff, SDI, Sosperec, JCH+g4 etc) takes much more?

So, where is the trick?
2006-03-22 15:40
cadaver

Registered: Feb 2002
Posts: 1153
- It skips effects (ok, pulsemodulation only) when it has something timeconsuming to do, like fetching new note or pattern

- Calculations are as direct as they can be, for example vibrato always "overwrites" (by adding/subtracting to) the current frequency. This means, you can't for example change note in the middle of vibrato and have it stay in tune

- Vibrato/slide speed is not calculated the hifi way of using the difference of two notes in the freqtable and shifting it right x bits. As a consequence the perceived vibrato width always depends on note, if parameter stays the same

- Effects & table formats are all very straightforward (you could say, lacking sophistication)

- Whenever possible, the values are dumped to SID directly (not in buffered playroutine)

Overall you could say the playroutine(s) have been written from a coder's viewpoint, not musician's or artist's. :)
2006-03-22 16:57
Linus

Registered: Jun 2004
Posts: 638
lo,

any chance you might add a 'switch' that enables a "hifi" calculation of Vibrato/slide speed? That could be very useful imho.

Greetz


2006-03-22 17:50
cadaver

Registered: Feb 2002
Posts: 1153
Well, that would make it entirely different editor/player and make the speedtable unneeded (except perhaps for vibrato & funktempo under multispeeds). Plus I don't like the idea that it would even be possible to make the player take an uncontrollable amount of rastertime :)

IMO better left for personal haxoring.

However, considering the amount of space in the speedtable, a function to calculate note-based & shifted speeds in the editor wouldn't be a bad idea.
2006-03-22 22:28
Linus

Registered: Jun 2004
Posts: 638
lo,

not at all, i'd be very happy with it :)

greetz
2006-03-23 21:40
cadaver

Registered: Feb 2002
Posts: 1153
Hi,

I have rewritten the relocator to dynamically assemble the playroutine (using Zagon's assembler from exomizer). Now instead of choosing a player from 5 possible you choose a combination of options you want to use. It also optimizes the code, so if you for example cover Wizardry music with no pulse & filtermodulation, the corresponding pieces of code get left out :)

Of course now there's tens of if/else/endifs in the player source so it's possible that some combination can cause nasty things to happen. Therefore I urge everyone to test this beta with as many songs as possible.

http://covertbitops.c64.org/tools/goat2beta.zip

If the assembler fails, the whole program exits and a file stderr.txt gets written to current directory. In case of errors/weirdness, contact preferably by email to loorni@gmail.com (include error message and .sng file)

There is also an option to disable optimizations if you for example get ADSR bugs from timing differences.

Btw. read chapter 5 of TFM (readme.txt) for explanation of the options and the player interface, there's not much change but still..
2006-03-24 12:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
just a little thought:

would it reduce file size if we had a orderlist cmd
that works the following way:

repeat the following (x) patterns for (x) time.

f.ex:

<R+ 45> 01 03 04 05 R3 00

R+; activates the cmd
45; will repeat the next 4 patterns for 5 times.


maybe this could be useful when optimizing the patterns with SNGSPLI2?
(before the final packing)


2006-03-24 12:56
cadaver

Registered: Feb 2002
Posts: 1153
Well, you don't want to reduce the amount of available patterns and change songformat yet again, do you? Actually I think the added player complexity and added variables (the way variables are structured, if I add even one more now it will take 21 bytes more memory) would outweight the benefit.

If those patterns are always called in the same order, you could combine them back into one. By doing this, you also reduce the size of the patterntable, 2 bytes for each pattern. Of course this is actual manual work :)
2006-03-24 13:02
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Ok, thanks for the info!

btw. 2.29beta is very nice!
i will go and test it now ...
2006-03-24 17:22
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

That optimization feature is absolutely excellent! :-O
Thank you very much Cadaver!

---

Btw. open *.sng's with double-click doesn't work anymore with 2.29beta. :-(

2006-03-24 18:37
cadaver

Registered: Feb 2002
Posts: 1153
Should work now.
2006-03-25 12:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

I still cannot believe how smart the playroutine can be:
528 bytes! Absolutely fantastic!

---

What is that "hifi" feature? (yes, I've read the manual)
But I have no clue why it is useful and why I should use it...

Btw. does the packer as well removes wavetables/filters/and pulses
that are identical? (but used by another instrument)
You know, if I load f.ex a drum-sound, it creates always a new
pulsetable entry (something that is good)

Maybe you could write down some words (in the readme.txt)
about the packer (how 'intelligent' it [he?] is, and what it removes)
:-O

2006-03-25 13:20
cadaver

Registered: Feb 2002
Posts: 1153
There's a couple of examples to try in the manual. It mimics the note-independent slide/vibrato in certain playroutines, like Hubbard, but with the difference that those playroutines calculate the speed in real time, GT2 editor precalculates them into the speedtable. Of course, you have to calculate it again with each note you use. And no-one forces you to use it, for example if siddump tells you that some slide speed is $0080, then it is and you can't get that from the hifi calculator :)

Duplicate table entries are not detected, simply what table ranges are used and what aren't.
2006-03-25 16:23
cadaver

Registered: Feb 2002
Posts: 1153
Now they are detected/removed (only by relocator, not by in-editor optimizer)

Btw. this is another feature that has potential for disaster and is thus recommended to be tested heavily.
2006-03-26 09:19
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Thats Cool!
2006-03-27 16:49
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Absolutely PERFECT! :-O
I testet again a lot of songs and it seems that everything is Ok! ...

.. and I have noticed something very interesting:
Some of my older songs like Stargate or Future Impulse don't need anymore the buffered SID output.
The rastertime stays constantly at max $10 lines. That's really amazing!!!! :-)
2006-03-27 18:24
cadaver

Registered: Feb 2002
Posts: 1153
I released 2.3 then :)
2006-03-31 11:59
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

I found a little bug. :-D
When I use the Cxy cmd within a song that does not uses any filters the editor will crash.

Anyway, this isn't a big problem. :-)
2006-03-31 12:48
cadaver

Registered: Feb 2002
Posts: 1153
Strictly speaking it doesn't crash, but aborts due to failed compile of player source. Anyway it's now fixed.
2006-03-31 20:29
Linus

Registered: Jun 2004
Posts: 638
lo,

2.3 is great, well done Cadaver :)

ever thought about removing that 'skip pulsemod' thing while fetching a new note ... ?


Greetz
2006-03-31 22:31
cadaver

Registered: Feb 2002
Posts: 1153
Done, get v2.31.

At first I was not going to bother, but then I realized you can also use tempo 2 after disabling pulseskipping (have to use funktempo command to set, the procedure is also described in certain section of TFM)

Btw. the rastertime increase is something like 3-4 lines according to little testing. Depending on pattern complexity, it could also be more.

After this, I guess it's only time for bugfixes and small optimizations from here on.
2006-04-02 11:24
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

I tested v2.31:

Now the packer quite often fails to pack when pulseskipping is OFF.
And it always fails when I select 'disable optimization YES' + pulseskipping OFF.

error messages (stderr.txt):

value 131 out of range for op $F0 @01F41030
---
value 131 out of range for op $F0 @01F40F80
---
value 131 out of range for op $F0 @01F40D40

Btw. I couldn't see any huge rastertime increase(?) hmmmm.
Anyway, I never will touch that new feature since the old 'pulseskipping-method' is
perfect. :-O
2006-04-02 11:51
cadaver

Registered: Feb 2002
Posts: 1153
Fixed. Btw. it's reassuring to know that Magnus's crossassembler indeed catches branch out of range errors (which is what those errors were about), otherwise it'd be hardcore bughunting time :)
2006-04-02 11:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Why tempo 2 could be useful? :)
2006-04-02 11:59
cadaver

Registered: Feb 2002
Posts: 1153
For some ultrafast hardcore :)

Or, some time ago also one guy was implementing a Hubbard-to-GT convertor, and to have it work with maximum easiness tempo 2 would be required. Never heard of him since and he had bit of an attitude, so I don't know what became of the utility.
2006-04-02 12:05
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Interesting!

But now can I do this strange pitch change like in 'One_Man_and_His_Droid.sid'?

2006-04-02 12:27
cadaver

Registered: Feb 2002
Posts: 1153
No, I don't think so.
2006-04-03 12:06
Linus

Registered: Jun 2004
Posts: 638
lo,

i haven't tried hubbard slides yet, but they should be doable within the pattern with speed 2, like ...

e.g.

(legato)

c
b
c
a#
c
a
c
g#
c
g
c
f#

etc.

greetz
2006-04-03 14:38
cadaver

Registered: Feb 2002
Posts: 1153
Ah yes, didn't think of that, and at least with multispeed you get it sufficiently fast. Too bad it wastes a lot of pattern-bytes. To have actual support for it would imply yet another ghost-copy of the frequency, I guess the newest JCH-player gets away by writing to SID directly and not saving the frequency with a special wavetable command, but doing it this way wouldn't work with buffered writes :(
2006-04-03 16:34
Linus

Registered: Jun 2004
Posts: 638
lo,

it could be a nice addition anyway, but ... i don't dare to ask for a feature again.

Nata? ,)


Greetz
2006-04-03 16:47
Linus

Registered: Jun 2004
Posts: 638
lo,

btw, goat2.31 just crashed for the third time :P

greetz
2006-04-03 17:32
cadaver

Registered: Feb 2002
Posts: 1153
It'd be in everyone's best interest to actually tell what you did to get that to happen, hmm?

If it's related to a song, then send it. Just telling "it crashed" doesn't do a lot of good.

(I assume you have redownloaded v2.31 after Nata's reports..)
2006-04-03 19:54
Linus

Registered: Jun 2004
Posts: 638
lo,

i can't exactly remember what i was doing, just plain editing the pattern without actually playing it.

greetz
2006-04-03 20:19
cadaver

Registered: Feb 2002
Posts: 1153
Hmm.. don't know if it was that, but shift+E/R (command copy/paste) couldn't have worked even in theory when marking several rows, fixed.

The weird thing is that I definitely remember it working at some point ;)
2006-04-04 19:06
Linus

Registered: Jun 2004
Posts: 638
lo,

maybe it was, didn't encounter any crash today :)

Greetz
2006-04-04 19:38
Hein

Registered: Apr 2004
Posts: 933
Quote: lo,

i haven't tried hubbard slides yet, but they should be doable within the pattern with speed 2, like ...

e.g.

(legato)

c
b
c
a#
c
a
c
g#
c
g
c
f#

etc.

greetz


Hubbard slides can be done with arpegios as well at 1x:

41 0c
41 00
41 0b
41 00
41 0a
41 00
41 09
...

or

41 0c
41 0b
41 0c
41 0a
41 0c
41 09
...

u can start at any pitch, $18, $24 or whatever.. (at least this is the method I used in Protracker and still use it sometimes in Goattracker)
2006-04-04 21:47
cadaver

Registered: Feb 2002
Posts: 1153
Hmm, I guess going down one halfstep at a time, in both methods, is too fast (?) Though of course it's all the same to me, I don't personally need to indulge in such retro-ism :)
2006-04-05 07:50
Hein

Registered: Apr 2004
Posts: 933
Quote: Hmm, I guess going down one halfstep at a time, in both methods, is too fast (?) Though of course it's all the same to me, I don't personally need to indulge in such retro-ism :)

woot.. no retro-ism? :)

anyhow, the slides are not spectacular, but sometimes it's nice to add a little retro touch. It's a sid tune after all. Besides, I still use GT 2.2, I'm always a step behind in life.
2006-04-05 10:23
dalezy

Registered: Apr 2002
Posts: 475
laxity had a different solution for that in his newplayer:

Quote:

There's one special case with the wave table where an offset of $80 is used. In this case the base note value + current transpose is recalculated and output. This does NOT mean that the internally stored frequency value is overwritten (which is actually the same, but can be altered by slide and vibrato). This enables you to make effects like the good old "Hubbard slide" (where every second frame plays the note and every other frame a continuous slide up or down). F.ex.

00 - $00 $21
01 - $80 $21
02 - $7f $00

If you apply a slide to this one, you'll get a "Hubbard slide".


that one works like a charm.
2006-04-05 10:55
cadaver

Registered: Feb 2002
Posts: 1153
Yeah, I posted about that above, problem is that to also work with buffered SID writes in the GT playroutine, it'd need yet another copy of the frequency, which I'd hate :(
2006-04-07 11:42
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Where is the difference between a real tiny routine and GT's optimizations feature?
I have tried several times to compose something like 'Empty_512_bytes.sid'(by 4-Mat), but never managed to go under 1k because playroutine grows very quickly.... but anyway... :-O

Btw. Why it isn't possible to set pattern-length to 128? It would be very useful when composing in speed 3. It isn't really a good idea to (f.ex) run channel 1+2 with speed 6 and channel 3 with speed 3 - it only makes trouble when I try to synchronize the patterns in the orderlist.
2006-04-07 18:00
cadaver

Registered: Feb 2002
Posts: 1153
96 was not far from GT1's limit of 80 rows, a nice compromise where "pattern too complex" errors aren't still that probable. And it's the highest multiple of 16 or 32 that can fit in 2 columns in both hex & dec display.

As of v2.32, the limit is now 128, but the pattern complexity limit hasn't gone anywhere. So, don't complain of the relocator errors you will get!

A dedicated tiny player has hardcoded functionality, like "pulse only on channel 2", has table-based access for wave/arp at most, uses ugly hacks and likely doesn't give a shit about rastertime usage. It also models the pattern & song data for minimum size & easy access, not for a wide variety of features. Creating true tiny players algorithmically is out of the scope of my sanity, maybe some certifiedly insane person can do it though :)

Read the SIDin magazine with the tinysid compo players disassembled for some more insight.
2006-04-07 18:10
Bamu®
Account closed

Registered: May 2005
Posts: 1332
cadaver wrote:
'As of v2.32, the limit is now 128, but the pattern complexity limit hasn't gone anywhere. So, don't complain of the relocator errors you will get!'

But, there is a simple solution... sngsplit2.exe... :-)
I hope it can handle big patterns like 128... (?)
2006-04-07 19:44
cadaver

Registered: Feb 2002
Posts: 1153
Released another version (v2.33), now there are optimizations for not using gateon/gateoff and not using any pattern commands at all.

Of course setting default tempo would still be nice? In fact you can now do this, by leaving instrument 63 unused, and writing the default tempo to its Attack/Decay field.

Btw. there was also a nasty relocator bug fixed, it was checking nonexistent pattern 208 at one point :)
2006-04-08 11:28
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I will go and test it :)

Btw. v2.31: SNGSPLI2.EXE does not split 128 to 64. (everything above 64 will be lost. :-)
2006-04-08 11:49
cadaver

Registered: Feb 2002
Posts: 1153
Tried the sngspli2.exe from the newest GT distribution? Naturally the older versions are still compiled for less data.
2006-04-08 11:53
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ah, ok! then probably everything should be ok. :-)
Btw. v2.33: has very nice playroutine optimizations - thank you!
2006-04-14 18:25
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Does GT uses an optimized playroutine in case I use only 2 or 1 channels?
2006-04-14 19:12
cadaver

Registered: Feb 2002
Posts: 1153
It could be argued that you can't use only 1 or 2 channels in GT, since if you have zero length in any of the orderlists, the song is illegal & playback won't start. :)

2006-04-16 12:57
cadaver

Registered: Feb 2002
Posts: 1153
Now (v2.34) there is sort of support. To make a 1-channel tune, use channel 1 and have just empty pattern(s) on channels 2,3. For a 2-channel tune, use channels 1 & 2. Using sound effects or ghostregs makes it always use full 3 channels.

The rastertime gained is actually quite sweet. Size gain isn't that noticeable.
2006-04-17 08:14
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Nice!
2006-04-23 16:27
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi Cadaver!

What do you think about a "automatic slide calculator"? (as an alternateve way)
IMHO the current way is quite slow/uncomfortable when creating slides with the 3xy cmd.
Ok, maybe this would produce a lot of speetbl. entries, but there is a solution for that.
At the moment, when I f.ex write a 350 (effect cmd) in pattern editor, then the speedtabl. entry is 01 40. Usually such values aren't necessary.
The "automatic slide calculator" could create more "abstract" values:

00 10
00 20
00 30
.. ..

and..

01 00
02 00
03 00
.. ..

and..

10 00
20 00
30 00
.. ..

The idea behind is that this way will save memory when optimizing the song.
Of course, then we need a nice shortcut key, that allows to create "automatic slides"
I'm sure this way would speed up composing EXTREMELY! :O
2006-04-23 21:08
cadaver

Registered: Feb 2002
Posts: 1153
Sorry, I totally don't get the idea. :)
2006-04-24 16:10
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cadaver, don't you think I would be more comfortable and much faster to have a shortcut key that allows to calculate the "right" slide-speed between two notes?

It would be cool if this little (?) routine would produce in speed-table only values like:

table
00 10
00 20
.. .. and so on...

and..

table
01 00
02 00
.. .. and so on...

and..

table
10 00
20 00
.. .. and so on...

If I do it manually I just can guess (listen) what is the right value for the slide. (and it's slow)
So, why only values like mentioned above? Simple, it's more packer friendly. :-)
You can imagine: values like "03 20" or "03 10" makes no audible difference and only wastes memory.

If the routine calculates values like this (or somehow other):

00 13 ; -> 00 20
00 97 ; -> 01 00
02 32 ; -> 03 00 (always use higher values)
04 21 ; -> 05 00

spdtbl entry (for 3xy cmd):

00 20
01 00
03 00
05 00

confusing?
2006-04-24 16:33
cadaver

Registered: Feb 2002
Posts: 1153
IMO if there would be an automatic slide calculator, then there is no sense for that to produce unexact values. Either you reach the target in just the amount of steps you want (by using the exact speed), or you don't :)

But, it would not be comfortable anyway to specify the amount of steps, as you remember the target note has to be specified when the toneportamento starts.

You'd have to first put the target note to "wrong" place, ie. x steps apart, calculate the slide speed, and then move the target note right where the TP starts. In that time you could have tried speeds manually :)

(and no, I don't want to make a function that moves notes automatically .. too much potential for destruction, and better not cram too many pseudo-intelligent features into GT just for requests of one user)

Another remark: calculating slide speed requires knowing song tempo. Current pattern might not tell the tempo, and I rather not implement a "virtual player" to play up to that position & extract the tempo. Furthermore, the pattern could be used in several places in the song with different tempos, so I rather not implement a function at all than imprecisely (that's what I mean with pseudo-intelligent)
2006-04-25 12:19
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:_(

Anyway, no problem!
2006-04-26 11:31
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, still I think the old way (from GT1) was more convenient. :-)
It's not that I don't like the speedtable (it's good for optimizing..), no, but (IMHO) it does some things that slows down composing.
IHMO shift+return would make really a sense, if it creates ALWAYS NEW entries (without pointing to one that already exists). Duplicates will be removed by the packer.

Well, here is an example how I create entries:
Usually I enter a 350 (as an approximate value)

c-401000
d-401350 ; old style entry, then shift+return

speedtabl.
01 01 40 ; ok, this will be created

Sure, value 01 40 is too fast. Therefore I set a lower one:

speedtabl.
01 00 80 ; seems to be ok

It would be great, if (f.ex) I enter 350 always will be created (invariably) a new entry.
It doesn't matter if there are values like mentioned above in speedtable:

01 01 40 ; packer removes dublicates
02 01 40 ; the same
03 03 00
04 00 80
05 01 40 ; the same
06 03 00

At the moment if I enter 350 (pattern effect), it would me point always to step 1 (right?).
That's really uncomfortable when you have to edit the value later on. (an if other instruments share the same value)

thats my opinion... :-I
2006-04-26 14:32
cadaver

Registered: Feb 2002
Posts: 1153
Now, that was a better suggestion :) Done in v2.35, let's see if there is a lot of hatemail now...
2006-04-26 16:32
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Thank you Cadaver! :-)
2006-04-26 16:47
cadaver

Registered: Feb 2002
Posts: 1153
Added one more thing (need to redownload v2.35, if you already did)

- Pressing SHIFT+ENTER over a speedtable-using pattern command while
the parameter is zero, goes to the next empty speedtable entry and
sets the command parameter to point to that entry.
2006-04-26 18:37
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Nice! Nice! Nice!
2006-04-30 09:29
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Sorry, just a short question (I hope it's not an 'irritating' one) :-]]]

I would like to hear your opinion:

Ok, how long a skilled coder would take time to port GT1 to c64? Days, weeks, longer?
And it is difficult/problematic to remove features (effects, delayed wavetable...) from the playroutine? How small/large the playroutine... should be if it is not planned to make a high-end player? (however, hardrestart should be ok)

...just a question... :)
2006-04-30 12:38
cadaver

Registered: Feb 2002
Posts: 1153
With lots of free time available, I guess a month would be close. That's assuming no unforeseen problems. Note that available song size would still be severely raped if not using extra memory. And it will never be as usable, due to slowness and keyboard layout (why not just use the tweak utility instead of dreaming of this)

Of the second question, I guess 1000 bytes is quite an usual size. Manipulating the player code like GT2 does by reassembling would be harder, but it could always output source code on disk to be assembled with Turboassembler etc.

And lastly: don't worry what I think of irritating or not, worry about the rest of the scene :)
2006-04-30 14:10
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, thanks for answer!! (Even it is a bit sad) :_(
Anyway, the reason why I don't use (yet) the tweak utily is simple:

1. Does not support changing the length wavetables, filtertables, pulsetables (not even in a limited way)

2. You can imagine how uncomfortable it is: composing with GT, then copy to disk (when finished), edit (in a limited way), again copy to pc... and again, again... :)

It's faster to write a *.sid file and copy it to mmc64. (however, this doesn't solves the 'true environment' problem) :>

I can't imagine what's the problem with the keyboard layout????
And why not use several tricks to save memory? Simplify the whole edit system...limit pattern size... and so on. (whatever is required)

---

And no, I don't worry about the rest of the scene. It doesn't bother me what 'sceners' think about me. :]]]
2006-04-30 15:37
cadaver

Registered: Feb 2002
Posts: 1153
To be honest, I can't imagine a difference in reSID & real enviroment playback that would require inserting rows in tables. Unless the song is badly broken to start with.

And you'd still have transfers to think about, unless MMC64 someday gets kernal read/write support, which I wouldn't count on..
2006-04-30 16:04
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmmm.....
2006-05-01 21:52
cadaver

Registered: Feb 2002
Posts: 1153
A question to all: would it be useful to have 1 bit more precision in pulse modulation speed, for Galway's Rambo-like slow creeping pulse, or multispeed tunes etc.? As you know, right now pulse speed 1 is really 2.

Doing this modification would save 6 cycles (if all channels use pulse) and 1 byte from playroutine. Downside is that the really high speeds would get gutted, and would have to be implemented as consequent "set pulse"-commands.

Naturally it'd require bumping the song format version up, so that old songs would still get loaded properly (assuming they only contain pulse speeds $01-$3f, or $c0-$ff on the negative side)
2006-05-01 22:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Sounds good!
Whats about an adsr cmd in the wavetable?
2006-05-01 22:14
cadaver

Registered: Feb 2002
Posts: 1153
Actually I have thought of a macro command in the wavetable, which would allow execution of most tick0 commands (set ad, set sr, set pulse, filter)

But this requires some more thinking..
2006-05-01 22:22
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Wow, that would be very cool! ;-)
2006-05-01 22:32
Bamu®
Account closed

Registered: May 2005
Posts: 1332
However, just add features that you find useful...
2006-05-01 22:40
cadaver

Registered: Feb 2002
Posts: 1153
Now that the relocator doesn't assemble everything (unnecessary) things in anymore, I don't have to be as picky. When it's time to make music for Hessian though, I'll most probably use rawgoat or some new proprietary routine, so actually whether GT2 is useful or not isn't important to me anymore :)

Instead, the aim is gradual assimilation and putrefaction of C64 music scene. Ha ha ha ha, hm hm hm hm...!!! (did I say that already?)
2006-05-01 22:45
Bamu®
Account closed

Registered: May 2005
Posts: 1332
;-)
2006-05-05 21:01
Yodelking

Registered: Apr 2002
Posts: 189
There's a Hubbard2Goattracker converter released today.
Knock yourself out! ;)
Hubbard2Goattracker V1.2
2006-05-05 21:08
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Very interesting!
I will download it tomorrow!
2006-05-06 12:38
dalezy

Registered: Apr 2002
Posts: 475
this is just not right.
why the heck did i try to figure how hubbard did his sounds when it's friggin easy to rip his sounds just like that.

anyway, welcome back stello.
2006-05-06 12:53
Bamu®
Account closed

Registered: May 2005
Posts: 1332
And the next tool will be a dmc2gt or a ich2gt - ha, ha, :-l
2006-05-06 13:59
cadaver

Registered: Feb 2002
Posts: 1153
The tool seems not to rip pulsemodulation.
2006-05-06 14:05
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Therefore we have siddump ;)
2006-05-06 18:37
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Then, what's about the "1 bit more precision in pulse modulation speed" you mentioned?

What everything would be possible with macro commands in wavetable? Where is the benefit? ;))
2006-05-06 23:28
cadaver

Registered: Feb 2002
Posts: 1153
Have had no time yet, and would like comments from others too...
2006-05-07 10:15
Linus

Registered: Jun 2004
Posts: 638
lo,

I'd definately appreciate a more precise pulse control. Go for it! :)
2006-05-14 20:53
cadaver

Registered: Feb 2002
Posts: 1153
Updated to V2.4. Changelog:

- Added one bit of accuracy to pulse modulation speed. A new songformat (identifier GTS4) reflects this, old songs will be converted upon loading.
- Added possibility to execute pattern commands from the wavetable.

All commands except 0xy (do nothing), 8xy (set wavetable pointer), Exy (funktempo) and Fxy (tempo) can be executed. You use wavetable left side values $F0-$FE to do this, right side is the parameter.

For a simple example, see wavecmdtest.sng. It does sustain/release change in one instrument and a "one-shot" pitch bend in another.

As always, approach with caution, may yet be rough on edges, though I tested at least all the example-tunes..
2006-05-14 21:05
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Wow!! :-O
I will download it tomorrow ...
I cant sleep anymore :-D
thank you cadaver!!! :)
2006-05-14 21:42
Raf

Registered: Nov 2003
Posts: 343
Cadaver , what do you think about stereo GT 2.x then ;-) I hope that Nata also would be glad to have stereo in v2... and maybe someone else too? ;-)
2006-05-14 21:49
cadaver

Registered: Feb 2002
Posts: 1153
I've said that I will do it when stereo SID productions (demos & games) start appearing in great numbers, and SIDplay supports it.
2006-05-14 22:00
Bamu®
Account closed

Registered: May 2005
Posts: 1332
However, it was a big fun to compose a stereo tune in mono ;-p
i doubt i will do a second tune ;)

... and maybe, the huge rastertime usage isnt very useful for games & demos.

but i can imagine how cool it could be to have 6 audio channels whitin a c64 game.
2006-05-14 23:00
cadaver

Registered: Feb 2002
Posts: 1153
IMO lack of required hardware owners is worse than rastertime concerns. Maybe PTV could start making 6-channel games :)
2006-05-15 09:30
Raf

Registered: Nov 2003
Posts: 343
one 6-chn GT SID tune should eat a bit less rastertime anyway than 2x mono tune I think

@Nata: you mean you comosed your latest tune using mono GT? kinda crazy ;p I know it is rather difficult way of composing
how about using gt 1.53 stereo then? :)
2006-05-15 18:59
Hein

Registered: Apr 2004
Posts: 933
Quote: However, it was a big fun to compose a stereo tune in mono ;-p
i doubt i will do a second tune ;)

... and maybe, the huge rastertime usage isnt very useful for games & demos.

but i can imagine how cool it could be to have 6 audio channels whitin a c64 game.


huge?? nonsense, many 3 channel players require the same amount as GT1.53 6 channel player.
2006-05-15 21:22
cadaver

Registered: Feb 2002
Posts: 1153
Updated the tweak utility to have version 2.4 features, and to have slightly less puritanistic pattern view/editing. Note: it loads only V2.4+ saved songs.
2006-05-16 10:03
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: one 6-chn GT SID tune should eat a bit less rastertime anyway than 2x mono tune I think

@Nata: you mean you comosed your latest tune using mono GT? kinda crazy ;p I know it is rather difficult way of composing
how about using gt 1.53 stereo then? :)


Well, Renegade 420 takes about $25 rasterlines. :)

No,I composed the tune in the 'stereo' version. (already one year ago)

BUT: In version 1.53 there is no real stereo output (mono downmix), so it was truly a pain to make these complex stereo-effects. :-D
2006-05-16 12:41
cadaver

Registered: Feb 2002
Posts: 1153
It appears that SDL lib doesn't crash anymore in the same way as before, so I updated the stereo version for true stereo output. Also corrected the filewriter code, it was writing tons of shit :)
2006-05-16 13:10
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: It appears that SDL lib doesn't crash anymore in the same way as before, so I updated the stereo version for true stereo output. Also corrected the filewriter code, it was writing tons of shit :)

:-))))))))

but resid interpolation isn`t available in stereo version... (?)
2006-05-16 13:32
cadaver

Registered: Feb 2002
Posts: 1153
Now they do (1.53 stereo and 1.53 mono). However, now it's time to leave those festering corpses to rot, so no further GT2 feature/command requests on old versions :)
2006-05-16 14:47
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Thank you! :-)))
2006-05-17 11:48
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Finally I found the time to test the new version... :)
Ok, GT will be terminated (when I try to pack) if I use the new pattern effects in wavetable:

'symbol mt_effectnum not found'

This happens if 'Disable optimzation' is set to NO.


However, I'm really happy with the new gt2.4 (I bet others too). The new pattern effects in the wavetabe allows to create extremely cool effects.

----

Btw.

One last and stupid thought about the old stereo version... (no, it is not a hidden request - just a thought) :)
I always have been wondered why it isn't possible to open gt1.53 songs with the stereo version...
I think this prevents a lot of people to do a mono to stereo-upmix of their tunes.
Now, since gt.stereo supports real stereo (hooray! ;D) it would be fairly easy to copy channel 1-3 to 4-6 and play around with pattern effects (volume, vibrato...). :)

Just imagine, what would be possible with Gt 2.4 Stereo.

I'm sure there will be support for stereo tunes in Sidplay2/w, if some more people will release stereo tunes (and if they are aware of good stereo editors)

---

Here a short stereo example:

http://rapidshare.de/files/20672988/stereo_test___D420_.rar.html

2006-05-17 18:46
cadaver

Registered: Feb 2002
Posts: 1153
Of course everything is a veiled featurerequest :)

- Redownload GT2 v2.4
- Redownload GT1.53 stereo, see program "mono2str"
2006-05-17 19:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi Cadaver!

Very, Very nice! Thank you very much!
...and is there a way to convert GT2 songs back to GT1? (only the patterns + notes)? :)
2006-05-17 19:12
cadaver

Registered: Feb 2002
Posts: 1153
No and won't be.
2006-05-17 19:15
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, that's no problem (for me). :-D
2006-05-18 17:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
GT 1.53stereo doesn't work very well in full screen mode (alt+Enter)
It's very hard to read the numbers on the screen (everything is blurred). I have tried to change the resolution, but it doesn't help. :_(
My graphic card (GeForce 4 Mx) allows a 'doublescan' mode for lower resolutions, but my monitor complains with strange error messages if I use doublescan. What can I do?
This only happens in the stereo version.
2006-05-18 18:30
cadaver

Registered: Feb 2002
Posts: 1153
GT1 stereo uses a nonstandard window size to fit in the channels, and SDL graphics library seems to do what it wants with the resolution / refresh rate :)

There may be some tweak programs for your graphics card, but I never remember their names..
2006-05-18 18:44
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:_(
but on your monitor it works fine?
I have no idea how to tweak :(
2006-05-18 19:34
cadaver

Registered: Feb 2002
Posts: 1153
Well, I have a laptop so any fullscreen modes generally fuck up. The stereo version doesn't display completely for me. However, in theory there is no reason (in goattracker's code) why it shouldn't display right.
2006-05-18 19:49
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I bet with 16:9 screens it works perfect.
2006-05-19 19:08
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm, sdl fits everything to the screen (4:3).
Shouldn't that be controlable by the user?
Of course, it works fine with the mono version, but with the stereo...
Imho it would help if there was a kind of upper and lower border to keep the aspect ratio. :)

edit:
gt mono runs at 720x400 and gt stereo at 640x480 in fullsreen. Hmm ..?!?
2006-05-19 20:01
cadaver

Registered: Feb 2002
Posts: 1153
It should add empty space to the borders so that the next legal screen resolution can be reached. But if it doesn't...

Maybe you should complain to SDL's authors :)
2006-05-19 20:19
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Grrr, evil SDL... ;)
2006-05-22 12:05
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

'symbol mt_effectjumptbl not found'

Unfortunately I can't remember what I did... :-/
Ok I used delay and the F5 xy cmd in the wavetable.
But anyway....

Btw:
So, why the Dxy and Axy cmd (in wavetable) are useful?
What is the main benefit from it? :)

The ADSR cmds are quite interesting, but at the moment I really can't imagine what could be done with the others. Any idea? Wired examples?

2006-05-22 13:42
cadaver

Registered: Feb 2002
Posts: 1153
I'll have to check all combinations.. it seems using some effects only in wavetable and not in patterns is still error-prone. Meanwhile I guess disabling optimization helps.

It's easier to allow (almost) all commands to be executed than to think what are useful :)
2006-05-22 14:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
;-D

Then, the other cmds aren't useful?? :)

edit: shift-o removes entries that are used by wavetable effects.
2006-05-22 18:22
cadaver

Registered: Feb 2002
Posts: 1153
V2.41 is out. Also got that Shift+O thing fixed.
2006-05-22 18:58
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Thanks!

Btw.

Cool! Now I know why 2xy & 1xy cmd are useful in wavetable....

Example:

SPEEDTBL
01: 00 22

Wavetable
21 00
0F 00 ;delay
F2 01
02 00
F1 01
02 00
FF 03 ; loop ps. 3

an alternative instrument vibrato... :)))))))))
2006-05-22 19:58
cadaver

Registered: Feb 2002
Posts: 1153
Yes but notice that it does not execute the command again during the delay.. could also be used for a detune effect, or other things not achievable with vibrato.
2006-05-23 15:22
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Its possible to split songs (with sngspli2) to different pattern lengths?
Maybe this would save memory?
2006-05-23 15:29
cadaver

Registered: Feb 2002
Posts: 1153
I'm sure songsplit could use some much more optimized algorithm for finding optimal song size. However, I pretty much have no interest for that.
2006-05-23 15:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Aha!
However, it was only a question... ;-)
2006-05-23 15:47
cadaver

Registered: Feb 2002
Posts: 1153
Question = featurerequest.

Don't try to get clever :)
2006-05-24 08:56
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

I found a bug (I hope it is one). Please look at the attached file. :)

There is only a correct output if 'DISABLE OPTIMIZATION' is set to YES. (even buffered SID writes doesn't help)

The 'wrong.sid' plays completely a detuned sound... :(
... and siddump produces wrong/different values.

http://rapidshare.de/files/21246937/gt_tst.rar.html

-------

'featurerequest' :)

- Pressing SHIFT+ENTER over 9xy & Axy (in pattern-editor) does not work.
IMHO, it should behave like the other cmds ('go to the next free position')

- Shift+U is quite a nice feature :)
If possible, it could be added as an command line option. This way it is available at startup.

- In connection with the 'shift+U' feature the following thing could be useful:
When the user switches through instruments (+ -), the right wave-,pulse-,filter- & speed-tables will be shown.
2006-05-24 10:55
cadaver

Registered: Feb 2002
Posts: 1153
v2.42 - Fixed frequency table size determination.
- Added SHIFT+ENTER when parameter is zero to get you into an empty
table entry for 8XY, 9XY and AXY pattern commands as well.
- Added adjustment of table views when changing instrument number
in unlocked table scrolling mode.
- Added ENTER over nonzero instrument number (in patterns) to go
editing that instrument.

No command line option, IMO generally the unlocked mode totally sucks and I never use it personally :)
2006-05-24 11:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Thank you very much! :)
2006-05-24 18:40
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Strange, why my arpeggio sounds better if pulse optimization/skipping is activated?
When i deactive skipping, it sounds quite flat (it doesnt sweep as cool as before)
i 've testet several songs...with the same result.
Hmm, what's wrong?
2006-05-24 18:50
cadaver

Registered: Feb 2002
Posts: 1153
With fast tempo (something like 3 or 4) the skipping is actually quite frequent. When the skipping is removed (optimization off), the feel of the modulation changes a lot. Obviously you should use what sounds best for each song.

You can verify the difference with siddump, for example. You should not see in any way different pulse value changes, but the gaps caused by skipping.
2006-05-24 19:17
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, thanks for the info!
I testet the songs with speed 4. :)
2006-05-24 20:45
Linus

Registered: Jun 2004
Posts: 638
lo,

may I request another feature? :) i think it would be quite nice to have two more pattern commands:

- change attack/decay+tie-note (GXX)
- change sustain/release+tie-note (HXX)

what do you think?

2006-05-24 21:00
cadaver

Registered: Feb 2002
Posts: 1153
There are not really bits free for extra commands. Furthermore, I'd hate going outside hex notation. But couldn't you use a legato instrument (firstwave 00) and 5XY / 6XY?
2006-05-26 17:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
What do you think about a pattern shrink & expand command. Something that converts the whole song or only selected patterns to another speed.

Sometimes it could be useful to convert songs (f.ex) from speed 6 to speed 3 and similar (& backwards).

Example: If the song should converted from 6 to speed 3, pattern size will expanded (usually to 128 rows) + and it's content.


Speed 6

c-2 01F06
c-2 01000
c-2 01000
c-2 01000
c-2 01000
c-2 01000


Speed 3

c-2 01F03
000 00000
c-2 01000
000 00000
c-2 01000
000 00000
c-2 01000
000 00000
c-2 01000
000 00000
c-2 01000

Ok, I don't know if would be very useful, but who knows... :)

2006-05-26 20:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Maybe lets forget this, since i request too much new features. :)

regards,
2006-05-26 22:22
cadaver

Registered: Feb 2002
Posts: 1153
Actually that shrink/expand is in quite many trackers, like Fasttracker 2 (I think)

I have another idea in addition to this. But then GT2 shall rest for a long time.
2006-05-27 09:31
Bamu®
Account closed

Registered: May 2005
Posts: 1332
HELP! =:-o

That new "one bit of accuracy in pulse modulation speed" seems to be very evil when I do 1:1 conversions. How can I calculate the old values, any wired formula?

The original pulse is like this:
From $900 to $F40 & backwards with speed $A0.

900
9A0
A40
AE0
B80
C20
CC0
D60
E00
EA0
F40
...

How do I convert this to GT? Dividing value $A0 to $50 doesn't help anymore (?) :(

----------

Something other:

Is there a difference between the keyoff in the patterns and the keyoff within instruments?
It seems that I can do keyoff's only in combination with waveforms: $10, 20, ...


----------

but now I will hide me :)
2006-05-27 10:58
cadaver

Registered: Feb 2002
Posts: 1153
When it was decided by three-man (?) consensus that the 1bit of accuracy was better, the downside is that effects like that now become possible only with repeated "set pulse" steps. I guess the general idea is that any modulation speed >= $80 is utterly unmusical :)

As for the keyoff, I have no idea what you're talking about, for I just tested it with a looping instrument with gatebit on, in both pattern & instrument editor.

(however, I now modified the pattern editor to also just clear the gatebit at keyoff, not kill the entire sound)
2006-05-27 13:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, "set pulse" works. (and it sounds like the original)
But it requires about 22 (!) settings.... :)

with 'set pulse' only:

909
9A9
A4A
AEA
B8B
C2C
D6D
E0E
EAE
F4F
EAE

original dump:

900
9A0
A40
AE0
B80
C20
CC0
D60
E00
EA0
F40


In this case the new accuracy in pulse isn't a problem... (because there is hardly any audible difference)

Unfortunately I can't understand, why it doesn't work if I try to convert it from limit-based format to the time-based format. Cadaver?

900 to F40 speed $A0

Which speed value I have to set for $A0? (in GT)
Maybe it's possible to do some manual offset, or something between?

----

Keyoff: It was only (really) stupid thought ... the more I think about, the more it is useless... :-D
I even can't remember why I have asked... :)
2006-05-27 17:39
cadaver

Registered: Feb 2002
Posts: 1153
There isn't speed $a0 anymore. Remember, it's signed arithmetic, so the highest positive speed is $7f (127) and highest negative $80 (-128)
2006-05-27 17:56
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ahaaa! 8-)
i think speed $7f will work too. :)
2006-05-28 10:01
Bamu®
Account closed

Registered: May 2005
Posts: 1332
How can i find out how much each single instrument takes memory? (filter, pulse, etc. included)
2006-05-28 10:24
cadaver

Registered: Feb 2002
Posts: 1153
Depending on optimizations, the instrument body (parameters) takes some amount of bytes. This is same for all instruments. Look at the relocator results screen and divide the "Instruments:" value with the number of used instruments. Then, it's 2 bytes for each used table-row of each table.
2006-05-28 10:37
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cool! Thank you for the info! :)
2006-05-29 12:29
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw. Why the rastertime display looks different if i use the 25hz mode? (it seems to be transparent)
is this an advantage?
2006-05-29 12:48
Frantic

Registered: Mar 2003
Posts: 1627
25 hz = player only called every second frame instead of every frame. Will make it look "transparent".
2006-05-29 13:07
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Wow! Over 500 replies!
Shouldn't we get a price for that? :-D
2006-05-29 14:21
cadaver

Registered: Feb 2002
Posts: 1153
In demos/games where screen update rate is less than 50Hz (vectors, for example) or which otherwise can spread the workload on successive frames, and highest possible average performance is desired, it is advantageous.
2006-05-29 16:40
Oswald

Registered: Apr 2002
Posts: 5018
Negative speed = tune is played backwards ? (o_O)
2006-05-29 22:41
cadaver

Registered: Feb 2002
Posts: 1153
Ok, V2.43 out. As I said, this shall (other for bugfixes, and the new features truly have horrifying potential for bugs) be the last release for a looong time.

- Added duplicate pattern detection/removal to song optimize.
- Added pattern shrink/expand (SHIFT+O,P).
- Added pattern join/split (SHIFT+J,K).

Note that to use pattern join successfully, you need to select the first pattern of the pair from the orderlist (press RETURN on it, then SHIFT+J). This is naturally also written in TFM.
2006-05-30 06:23
Yodelking

Registered: Apr 2002
Posts: 189
Quote: Ok, V2.43 out. As I said, this shall (other for bugfixes, and the new features truly have horrifying potential for bugs) be the last release for a looong time.

- Added duplicate pattern detection/removal to song optimize.
- Added pattern shrink/expand (SHIFT+O,P).
- Added pattern join/split (SHIFT+J,K).

Note that to use pattern join successfully, you need to select the first pattern of the pair from the orderlist (press RETURN on it, then SHIFT+J). This is naturally also written in TFM.


Last release for a loong time?!?
Does this mean you're secretly working on V3.0 with dual digichannel support? ;)
2006-05-30 07:59
cadaver

Registered: Feb 2002
Posts: 1153
V3.0 would be one channel beeper support in honor of PC :D

or who knows, maybe a port/remake of Compute Gazette's SIDPlayer so that we may enjoy another era of those patriotic hymns..
2006-05-30 09:01
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Thank you! :))))

-------------

Ok, now I can remember about the problem with the 'gateoff'. :)

Example:

Song runs at speed 4.
Instrument 1: ADSR = 0069

wavetable:
21 00
21 00
20 00
40 00
FF 00

---------

Pattern:

00 c-5 01000
01 ... 00108
02 b-4 01308 ; slide with speed 0070

Well, I need to write new ADSR settings at row 02. (ADSR 006f)
Writing them before or after the slide isn't the same.

However, now I solved this problem with a delayed F66f cmd in the wavetable.


2006-05-30 13:58
Linus

Registered: Jun 2004
Posts: 638
lo,

Yodelking: That plus a ring-mod to speech converter and full midi capabilities. Needless to say these features will be included in both GT3.0-Stereo and GT3.0-C64-port aswell.

Oh, did I mention the plans for the updates of the GT-Tools section yet? A .wav-to-wavetable converter is in the making plus a lot of other minor goodies such as SID2SNG and realtime filtering of AuxIn signals.

Top secret, tho!


2006-05-30 15:03
cadaver

Registered: Feb 2002
Posts: 1153
Actually, this is a concept idea I got. Total freedom from predefined effects and the outdated concept of instruments, patterns and pattern-orderlists at last!


GoatTracker V3.00 (F12=RTFM)

Channel 1 Channel 2 Channel 3 Common
FREQ PULS WV ADSR FREQ PULS WV ADSR FREQ PULS WV ADSR CTOF RC PV
00 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
01 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
02 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
03 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
04 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
05 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
06 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
07 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
08 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..
09 .... .... .. .... .... .... .. .... .... .... .. .... .... .. ..

:)
2006-05-30 15:12
Raf

Registered: Nov 2003
Posts: 343
Quote: Wow! Over 500 replies!
Shouldn't we get a price for that? :-D


this seems to be one of the longest and also surpirisngly creative disussion on the CSDb ever ;-)
2006-05-31 11:28
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Set vibrato in the wavetable seems to be more useful, than the normal instrument arpgeggio. :)

Example:

ADSR: 1D0C

01:11 01
02:11 00
03:F4 01 ; vibrato value 02 60
04:FF 03 ; loop pos. 03.

IMO it is more lively and even sounds good on higher octaves ...

---

Anyway, I found a problem in combination with this. (please look at the attached file)

http://rapidshare.de/files/21843139/test.rar.html

In GT everything sounds ok, but outside... (buffered SID-writes doesn't help, disable optimazion doesn't help)

Instrument 2 contains the vibrato in the wavetable (delayed for 05 frames)
It seems that it clashes with 1xx,2xy & 3xy cmds. (?) Some instruments works fine others not. :( I have no clue where the problem could be. It's possible to fix this "bug(?)"?

---

Btw. 'Join/split pattern':

So, how do I split patterns in the right way? Which is a good combination between files size and memory? What's about empty patterns - split them?

---

If there should ever be a new version ('the final' v3.0), then *only* TWO things are required.

- Note-independent portamento/vibrato. (however, it's possible to choose between (speedtable or automatic calculation)

- 4th digi-channel (that even works with 8580s)

... and maybe ...

- Stereo version :)



2006-05-31 14:02
Yodelking

Registered: Apr 2002
Posts: 189
Cadaver, when Nata says: "TWO things are required." he means "There's two things on my wishlist..." :)
2006-05-31 14:35
cadaver

Registered: Feb 2002
Posts: 1153
Nata, I'll fix the editor playroutine to work like C64. Whatever happens there, it's nonstandard :)

As for pattern splitting, it's your own headache. Remember that shorter patterns = longer orderlist. Btw. why even bother about memory before your coder tells you that music needs to fit in less space?

Btw. the next rapidshare-contained bug report will be ignored.
2006-05-31 14:44
Bamu®
Account closed

Registered: May 2005
Posts: 1332
cadaver wrote: "Btw. why even bother about memory before your coder tells you that music needs to fit in less space?"

Well, that is a good question! :-D
IMHO, a song should be as optimized as possible (even it isn't used in a demo...

edit:

cadaver wrote: "Btw. the next rapidshare-contained bug report will be ignored."

Ok, next time I will send it by mail. :)
2006-05-31 14:57
cadaver

Registered: Feb 2002
Posts: 1153
V2.44 out, now your song bugs in the editor in the same way as it should. (continuous pattern commands should only execute when there's delay or no-frequencychange in the wavetable)

If things go right, there won't be a next one :)

Btw. the difference in vibratos = according to tracker "standard", continuous effects never execute on tick0 (this also saves rastertime). But when you invoke effect from wavetable, this restriction doesn't apply.

To be honest, I'd have liked to add this restriction there too, but it might have resulted in too unpredictable behaviour. Except perhaps if the wavetable "waited" for the next frame then.
2006-05-31 17:40
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Now, do I have do convert all my wavetable vibratos to normal vib? wavetab. vibrato was a -cool- feature, but doesn't help me if I can't execute 1xy,2xy,3xy cmds :(((((((((((

---

cadaver wrote:"If things go right, there won't be a next one :)"

... and this means GT becomes 'unsupported'? :-I
2006-05-31 19:24
cadaver

Registered: Feb 2002
Posts: 1153
No, it means the ideal state is no more bugs/weirdness to fix.

Seriously, you have a weird kind of attitude problem/phobia about GT becoming "unsupported". SID composing is quite limited domain, at some point a certain editor is good enough, it doesn't mean it suddenly rots away and the old (or new) songs refuse to play :)

Actually it could be argued that only a stable platform can be learnt to be utilized fully (like the VIC-II chip), in retrospect I've possibly responded too eagerly to your whims and I guess there are people who have stuck to an earlier version 'cos some of the modifications (like $e0-$ef for silent waveforms) have been destructive to old songs :)
2006-05-31 20:38
cadaver

Registered: Feb 2002
Posts: 1153
Btw. you can have portamentos & wavetable-vibratos mixed by also calling the portamento with a 8XY command (have a toneportamento command invoke, which is looped constantly) You need a legato instrument to set the new note, and you naturally have to manually restart vibrato with another 8XY command after TP is finished.

It becomes rather like Ninjatracker -style programming, so there is a reason why instrument vibrato and normal pattern commands are better for most sane users :) And btw. it has to be a hallucination that the wavetable vibrato would be better for high notes. For a certain tempo, I'm sure you can calculate an equivalent sounding normal vibrato program.
2006-06-01 12:14
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well, there is a difference! wavetable-vibrato sweeps slightly faster than normal vibrato....
But anyway, this is nothing special :)

----
Btw.

How the routine behind shift+L calculates the correct amount of time, f.ex if the pulse sweep shall go from $200 to $700 with speed 30 (and backwards)?

---

Sure, at a certain point the editor is good enough...
2006-06-01 12:20
cadaver

Registered: Feb 2002
Posts: 1153
Time = distance / speed. Then it's splitted to as many steps as needed (max. time per step = $7f)

The most complicated part is to follow the pulse table backwards to determine the starting pulse value.
2006-06-01 12:22
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, thank you Cadaver! ;)
2006-06-01 14:23
cadaver

Registered: Feb 2002
Posts: 1153
Released one more version (V2.45) The optimization indicators are now shortened so that one more fits on screen, "RO". This means "realtime effects optimization" and if you click it or give the commandline option /R0, pattern commands, vibrato included, will no longer be skipped on tick0. As always, the price is rastertime.

(and it also breaks the tracker unwritten rules :))
2006-06-02 13:50
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Released one more version (V2.45) The optimization indicators are now shortened so that one more fits on screen, "RO". This means "realtime effects optimization" and if you click it or give the commandline option /R0, pattern commands, vibrato included, will no longer be skipped on tick0. As always, the price is rastertime.

(and it also breaks the tracker unwritten rules :))


:-)

and therefore vibrato runs at a faster speed (swings faster)? :-D [if RO cmd isn't used]
2006-06-02 15:53
cadaver

Registered: Feb 2002
Posts: 1153
Yes, normal and wavetable vibrato will be indistinguishable.
2006-06-12 12:59
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Sorry, me again. :)
Just some little thoughts (thought not featurerequest) for a later version (v3.0 or something between):

- A command line option to disable that evil (?) "one bit of accuracy"
- A command line option to disable the mouse support :)
- A tool that is able to merge several *.sngs to one module (subtunes)
- A 'key' (maybe a tool) that converts speedtable entries to the right speed if channels are transponsed in ordelist (+x,-x)
- Press shif+Enter over F1 xy, F2 xy, F3 xy, F4 xy ... in wavetable should work too.
- A mighty tool that allows to calculate cool sounding and non-linear filter slides for 8580 users. :-D

It's no problem if none of these features is ever included. :)
2006-06-12 14:18
cadaver

Registered: Feb 2002
Posts: 1153
<Message mostly ignored>

:)
2006-06-13 09:37
cadaver

Registered: Feb 2002
Posts: 1153
V2.46:
- Added transpose of speedtable portamento speeds (SHIFT+Q,A,W,S)
SHIFT+W,S (octave transpose, multiply/divide by 2) also work in
pulse & filtertable.
- When editing the wavetable, RETURN & SHIFT+RETURN work for wave-
table executed commands as in patterns (go to table position
pointed by command, create new speedtable entries)

Btw. configurable 2x pulse speed won't come back; would lead to too much potential confusion as well as being a bitch to code, now that there's automatic conversion of old songs. You had your chance to veto it back then but apparently didn't think critically enough?

Also, far more comfortable to release incremental updates (of course at ever decreasing frequency) than think about a final release that cures cancer, hunger and makes coffee etc. :)

Finally, note that repeated application of SHIFT+Q,A in speedtable results in rounding errors (press SHIFT+Q 12 times and you won't get exactly double speed, but slightly less)
2006-06-13 10:39
dalezy

Registered: Apr 2002
Posts: 475
is gt still easy to understand for people who start with it right now?

---

oh, and may i request a commandline option that makes the whole thing look and work like jch? like, gt.exe /JCH. this would be awesome, thanks!
2006-06-13 11:03
cadaver

Registered: Feb 2002
Posts: 1153
I'd say it's still easier to understand than some prominent C64 music editors. Particularly if you have a background in tracker-like editors.

Actually, any of you are free to program the JCH mode and send the patch to me :)
2006-06-13 12:50
Yodelking

Registered: Apr 2002
Posts: 189
Quote: is gt still easy to understand for people who start with it right now?

---

oh, and may i request a commandline option that makes the whole thing look and work like jch? like, gt.exe /JCH. this would be awesome, thanks!


If you want the program to work and look like JCH editor, I suggest running the JCH editor in CCS64 or Vice or on a real c64. I think that will save both you and Cadaver some time...
2006-06-13 12:55
dalezy

Registered: Apr 2002
Posts: 475
Quote: If you want the program to work and look like JCH editor, I suggest running the JCH editor in CCS64 or Vice or on a real c64. I think that will save both you and Cadaver some time...

i take it, you didn't spot the slight sarcasm in my original post :)
2006-06-13 13:06
Yodelking

Registered: Apr 2002
Posts: 189
Quote: i take it, you didn't spot the slight sarcasm in my original post :)

Hehe, no... I think I would have understood it if you added a smiley, though... Reading some of the other requests here, I wouldn't be surprised if you were serious. :)
2006-06-13 14:34
cadaver

Registered: Feb 2002
Posts: 1153
Considering backwards/sideways sample playback (and with several channels software-mixed), JCH mode is nothing!
2006-06-13 20:21
Hein

Registered: Apr 2004
Posts: 933
Quote: is gt still easy to understand for people who start with it right now?

---

oh, and may i request a commandline option that makes the whole thing look and work like jch? like, gt.exe /JCH. this would be awesome, thanks!


If you can whistle a ditty, you can also use Goattracker.
2006-06-13 22:40
cadaver

Registered: Feb 2002
Posts: 1153
Though, for extra street cred, you could/should:
- Learn at most half of the effects/features (or 1/4 for extra credibility) and then proclaim on internet that GT sucks
- Extensively make use of the default instruments only (found in demo songs)
2006-06-14 08:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cadaver, is there a way to make - audible - any sound-anomalies (ADSR bugs) in the editor??? (maybe a buffered/unbuffered SID-writes key? could help ;-P :-D ). So, everybody can hear if the current sound sucks or not. (stupid idea?)

Btw. it seems that there are always minimal bugs (often not really audible, but sometimes very ugly) in the packed songs (buffered/unbuffered).

- F.ex I've tried to load a song into my favourite noter (octanoter) - there are anomalies/bugs.
- I've tried your test player and there are somtimes minimal anomalies.
- I've tried PSID64 and it seems to be the most accurate for playback.

This accuracy problem already exists since GT 1.5x. So, it is always an extremely frustrating task to choose the right player for playback on c64. :-I
2006-06-14 08:34
chatGPZ

Registered: Dec 2001
Posts: 11118
uh, there will always be small anomalies with emulation, if you want the real thing, use the real thing :=P
2006-06-14 08:39
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: uh, there will always be small anomalies with emulation, if you want the real thing, use the real thing :=P

I don't use emulation for the final playback or testing my tunes.
2006-06-14 09:34
cadaver

Registered: Feb 2002
Posts: 1153
For playback to be totally accurate, the editor would have to contain a 6510 emulator, and always re-pack & relocate the song when you make a slightest change. Even in C64 music editors, differences between the editor & final playroutine's timing can cause trouble.

Consider that even if your song was used in a demo, the choice of raster position on invoking the player can cause differences (depending on badlines) to what you think is the "super correct" version.

Therefore it's impossible to make the editor reveal all kinds of anomalies that may result in *some* playback enviroment.

You just have to learn to be less anal, and to avoid troublesome ADSR settings.

In theory, you could achieve best stability by using the zeropage ghostregs player, but then you need to add code to dump the ghostregs to SID.

Old goattrackers used Hubbard-like hardrestart and thus were less susceptible to timing changes. You can blame Jammer & Smalltown Boy & CreaMD for requesting & instructing me in the ways of the "other" kind of hardrestart :) (I've always stated that I hate it myself, for causing totally unpredictable hiccups in NTSC mode, but such are the requirements to satisfy the demoscene)

Btw. it's never anyone but you that complains of ADSR bugs, do others
- just suck it up?
- use safe ADSR settings?
- don't care?

:)
2006-06-14 09:56
cadaver

Registered: Feb 2002
Posts: 1153
Of course, if someone can tell me how to make the playroutine even more stable, it would be much more productive than bickering here :)

Now I added an experimental random delay to reSID writes to GT2.46, if you redownload now, you can test it. In theory it could flush out possible unstable ADSR settings.

For example goattrk2 /Z20 or /Z48 will introduce quite lovely bugs to an ADSR 00F1 instrument (delay of 20 or 48 cycles).

goattrk2 /Z0 turns the delay off.
2006-06-14 13:25
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Maybe, Shift+L (pulsetable - Limit-based modulation steps) could convert any speeds above $80 to "set pulse"-commands? :-D
Perhaps this solves the problem with the high speeds in pulsetable. (and it is more accessible than writing the cmds by hand)

---

Why gate gateoff timer can't be 2 if I song-speed is 2.
F.ex a song initially runs at speed 5.
I would like to convert it with Shift+P (expand) to speed 2, but gateoff timer 1 doesn't sound too good. No this ins't a feature request. I only want to ask if gateoff timer 2 would be possible. :)

---

Why siddump shows me:

08 ; testbit
20 , sawtooth+gatebit OFF

if I set in GT Hardres/1stWave to 00 and the wavetable contains a

E9 ; testbit+gatebit
21 ; sawtooth+gatebit ON
FF

Shouldn't it have the same effect like Hardres/1stWave 09 ? :-O

The 09 (or 01.., or 11...and so on) has to be always on frame 0? What would happen if it was possible to set (alternatively) from frame 1. How it would sound? Completely wrong?

(same here: this is no hidden feature request)

---

In v2.45 the packer removed at the beginning of a certain test-song the first or the third pattern (disable optimzation OFF). Unfortunately I can't reproduce this bug anymore (I've lost the testsong).
However, fixed that by adding a 'F06' command.

---


Now I shut up! :)
2006-06-14 13:32
cadaver

Registered: Feb 2002
Posts: 1153
You seem to forget that firstwave 00 activates legato mode. This, among other things, means that gatebit won't be set back on, thus producing the expected dumped values. Use firstwave 02 or 04 if you want silence & gateoff without testbit. Of course you're free to experiment with whatever values, but usually gate off on first frame creates bad-sounding attack.

Playroutine cannot fetch new notes on tick 0 already, that's why gatetimer can't be equal to tempo.
2006-06-14 13:34
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok!

Now I will go and test the new version. :)

Edit: Hmm, for some strange reason it doesn't bug anymore in the newest version. (if packed, + without unbuffered SID-writes)
I have to do some further tests...
2006-06-14 13:52
cadaver

Registered: Feb 2002
Posts: 1153
I changed the unbuffered timing, now it's better in some cases (and possibly worse in others)
2006-06-14 13:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Worse in others?
2006-06-14 13:57
cadaver

Registered: Feb 2002
Posts: 1153
You have to test for yourself, when stuff fails, turn on buffering. Btw. v2.47 is now officially out and explains the changes.
2006-06-14 14:46
Hate Bush

Registered: Jul 2002
Posts: 453
Quote:
You can blame Jammer & Smalltown Boy & CreaMD for
requesting & instructing me in the ways of the "other"
kind of hardrestart :)


Impossible. I have never, ever, requested anything concerning hardrestart, for I don't know shit about it. :D

Quote:
Btw. it's never anyone but you that complains of ADSR bugs, do others
- just suck it up?
- use safe ADSR settings?
- don't care?


- put the least bug-sensitive section into the troublesome channel?
- find some perfect hardrestart/ADSR settings and stick to them?
2006-06-14 14:49
cadaver

Registered: Feb 2002
Posts: 1153
Ah, it may be that when remembering age-old emails, I confuse you and Jammer on occasion :)

Of course, the "new" hardrestart method generally produces much sharper results, so objectively it's better if a bit unstable..
2006-06-14 18:36
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Old pulse settings are converted automatically to 'set pulse' cmds (if above 7f)?
2006-06-14 18:40
cadaver

Registered: Feb 2002
Posts: 1153
No, only with SHIFT+L.

Because, it would be massive pain to make the conversion work properly in all cases. Consider for example a pulse loop which increases pulse by x amount and then runs back -x amount. It could be entered from multiple startpoints, but with "set pulse" steps, each startpoint would require an own program!
2006-06-14 21:50
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Shift+L doesnt creates negativ 'set pulse' settings...!? :)
2006-06-14 22:02
cadaver

Registered: Feb 2002
Posts: 1153
Fixed.
2006-06-15 08:57
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

The new unbuffered playroutine timing SEEMS to work quite fine. (for the most tunes).
Now, other songs like Stargate or Future Impulse need again buffered writes. :-D
F.ex the playback of a lot (or some) of notes is slightly choppy and some ADSR Bugs (f.ex F.Imp.) are back. (hehe, both songs use extremely dangerous ADSR settings)

..... maybe it's because I use headphones and I hear any minimal (not necessary ADSR Bugs) anomaly?

goattrk2 /Z20 or /Z48: Cooool! It shows unstable ADSR-settings (settings that CAN make trouble if the song is packed). :)

---

So, how do I use that zeropage ghostreg thing with you test-player.? If I save the tune with "Use zeropage ghostregs: Yes" I get only a mute playback...hmmm?
2006-06-15 12:17
cadaver

Registered: Feb 2002
Posts: 1153
Bleh, changed back the timing. After all it only helped some quite extremely dangerous settings, and tick0 pattern commands could easily screw the timing.

To use example4, pack to $d000 (under IO) and choose zeropage address $02.

Of course you can also change example4 to play from $1000, but this includes various other haxoring; you might want to enlist help of a c0der for this.
2006-06-15 12:29
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, thank you!
2006-06-17 07:56
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

I need to do the following 'slide' with the legato. Song speed is 4 ticks/line:

A#4 11 0040 , frame 00
... .. .... , frame 01
... .. .... , frame 02
A#5 .. .... , frame 03
-----------
C-5 .. .... , legato starts here
... .. ....
... .. ....
C-6 .. ....
-----------
C#5 .. ....
... .. ....
... .. ....
C#6 .. ....
-----------

... but it seems to be impossible.
GT2 does the following:

... 01 0040 ,frame 00 ,HR. is disabled
A#4 11 .... ,frame 01
... .. .... ,frame 02
A#5 .. .... ,frame 03
------------
... .. .... , why legato doesn't start here?
C-5 .. .... ,legato starts here :_(
... .. .... , <- only one frame ...
C-6 .. ....
------------
... .. ....
C#5 .. ....
... .. ....
C#6 .. ....
------------

Is there ABSOLUTELY no way (a trick/hack or whatever) that allows to perform the example mentioned above? (but no playroutine-change)??

Isn't it possible to disable the gate-off timer (the 2frames hardrestart) if I use waveform values like 11,21,31,41,51,61,71, in 'HardRes/1stWave'? Any trick?
2006-06-17 09:25
cadaver

Registered: Feb 2002
Posts: 1153
You can disable the hardrestart, but notes will still not trigger/change on tick0. This is actually to make hardrestart and legato instruments appear to be in sync with each other.

I think you need a clever wavetable-program..
2006-06-17 16:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cadaver, please could you include a simple playroutine (dasm-source) that allows to use a second sid? (stereo)
2006-06-17 17:06
cadaver

Registered: Feb 2002
Posts: 1153
<Message ignored>
2006-06-17 18:13
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: <Message ignored>

Why?

Then, I did everything for nothing :_(

and how i should use "/Lxx SID memory location in hex. DEFAULT=D400" instead, if not for stereo?

Isn't it possible to hack your example player "example1.s"?
(It should include two modules)
2006-06-17 18:57
cadaver

Registered: Feb 2002
Posts: 1153
It is trivial to hack example1, ask some coder to help. I don't want to help anyone indulge in masochism of composing left & right side separately, and clutter the GT distribution.

/L was primarily made for using other C= machines with SID addon mapped somewhere else.
2006-06-17 22:35
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, no problem! :-p ;)
2006-06-18 00:45
dalezy

Registered: Apr 2002
Posts: 475
just wondering, but do you guys talk to eachother via email too? :D
2006-06-18 11:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: just wondering, but do you guys talk to eachother via email too? :D

:-D :-D :-D
2006-06-18 19:06
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Hmm, I tested once again that shift+h command, but IMHO it isn't extremely useful. :-I
I've tried to create some "HIFI" vibratos, but it sounds like the hell. Do I use it in the correct way?
In fact it isn't too cool to use tons of 4xy cmd's - instrument vibrato is (for me) enough.
MAYBE it's possible to implement realtime calculation (some seperate cmd-line option could be useful) only for instrument vibrato? (Only if YOU want and if it will sound good)

!!!!!!Of course for some later, later, later, version!!!!!!

Anyway, I'm sure this question will get a nice <MESSAGE IGNORED> answer. :) :DDDDDD

2006-06-18 19:27
cadaver

Registered: Feb 2002
Posts: 1153
I think I've stated already that it belongs to another editor. GT ideology = no player intelligence, you tell exactly what speeds to use. Plus I'd hate to use command line options for something that totally screws playback for songs made with the "other" setting.
2006-06-20 08:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:D
Ok, no problem. :)
2006-06-21 20:27
JackAsser

Registered: Jun 2002
Posts: 1989
OK, I havn't posted in this thread for along time now, but I must ask you nata, what are you up too? It seems like you look under every damn brick in GT and try to exploit it in the worst way possible or is that only my perception of it? :D Anyways, are you trying to make the Rolce Royce of a tune or something? :D I'm getting rather curious and expects some damn cool release soon.

Have fun!

/JackAsser

2006-06-21 22:37
Hein

Registered: Apr 2004
Posts: 933
The realtime vibrato can be usefull, but its not THAT important. A couple of handmade vibratosets is enough to satisfy this customer.

The most usefull feature lately is the wavetable 'pattern' command.

Isn't it about time to do a real finalsuperduperdeluxe Alpha version? I mean, skill can't be automated.
2006-06-21 22:48
cadaver

Registered: Feb 2002
Posts: 1153
Alpha = as many bugs as to be unusable? (worse than beta)
2006-06-22 08:15
Hein

Registered: Apr 2004
Posts: 933
As in final.
2006-06-22 09:04
TNT
Account closed

Registered: Oct 2004
Posts: 189
Since when has alpha meant release stage?
2006-06-23 10:40
Hein

Registered: Apr 2004
Posts: 933
Dunno, since my memory allowed it to be, I guess. :)

Still, the point was a different one. You've probably missed it between the lines.
2006-06-23 12:40
cadaver

Registered: Feb 2002
Posts: 1153
Couple of latest releases have been actually fixes for all shit introduced by adding features. It would of course help if I'd personally *use* the features, that way they might get tested :)

The concept of a final version is IMO not nice, because there will be releases afterwards anyway. Rather, it's more convenient to gradually slow down ... and ... stop (I pretty much see GT2 is in that state now)

If that's "becoming unsupported" then let Nata suffer :)
2006-06-23 14:17
Linus

Registered: Jun 2004
Posts: 638
Natatracker IS in that state now indeed :)
2006-06-25 11:42
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Natatracker IS in that state now indeed :)

Heee, cool idea!!! :))))))))))))))))))))))))))))) :-D :-D
2006-06-28 11:26
Bamu®
Account closed

Registered: May 2005
Posts: 1332
What do you think about to include the following ... (hehe, just a joke) :-)

Well, I think my mission is accomplished. There is everything included, everything works perfectly and everything is as comfortable as possible. I'm sure a lot of future composers will be happy with this tool. (for many, many years)

To be honest, GT2 is the music-editor I've (and others too) ever dreamed about: It's a 'magic' editor. :)

---

One thing beside:

Are you sure that shift+h produces the same values as realtime-calculation (for vibrato) in other players?
I've tried to convert some melody-lines, but whatever I do it always sounds different. (sounds not good) :-I

Example:

my base value is 02 60:

A#4 01000
... 00000
... 00426 ; base value, shift+h creates a 00 1D

1. Why do I have to add on my self the speed value? (In this case 02)
2. Why doesn't it sound as lively as the original melody-line? (yes, my conversion is accurate)

2006-06-28 11:33
cadaver

Registered: Feb 2002
Posts: 1153
You didn't understand it right. Check readme again. Yes, it's a feature that you need to type the speed yourself, because the LEFT nybble is actually the amount of times to shift the result LEFT (multiply by two). This is rarely (if ever) used in C64 musicroutines, but included for completeness and for creation of fast speeds. You should actually leave the left nybble to 0 for most normal purposes, and then indeed, write the vibrato speed manually.

Compare your output with siddump and it should tell you the difference. :) Disable effect-skipping as required. (of course this is already quite far from what C64 music composing should be about)

Btw. v2.48 was released some time ago, fixes the /L sid baseaddress option to work with the assembled playroutine again.
2006-06-28 11:57
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Let's see if I've understood... :-I
2006-06-29 11:41
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm... :I

But what happens with my base value (02 20, 02 50, or whatever)? It seems that shift+h does what it wants. :-/
How I should know the amount of shift? Why a "shift left" + "shift right" is required?
Well, I know that I have to add my own speed value, but what's about the depth?
What happens if I enter the 4xy command some lines after the note (vibrato delay)? It's seems to produce different values.

... I have no idea...

Please, could you give some standard examples for note-independent vibrato?

2006-06-29 11:47
cadaver

Registered: Feb 2002
Posts: 1153
Often there are a couple of right shifts (more consumes too much rastertime) - say 1 to 4. So you'd use 401 - 404 in the pattern, and Shift+H over that. Then keep using the same speedtableindex throughout the vibrato or it goes out of tune...

Speed is also often in the 1-4 range. Try & experiment, or use siddump.

Shift+H doesn't use any existing speedtable information (your "basevalue"), the only thing that matters is the note's frequency and amount of (right) shifts, just like in playroutines.

(actually the readme tells you that already, you just keep imagining things your way)

But IMO if you don't get it or don't get Shift+H to work satisfactorily, just ignore it. If you're converting a song, you can just look up each individual note's vibrato and enter that into speedtable directly. Sometimes btw. more advanced players use a sinewave form for the vibrato so that direct conversion is impossible anyway, then you can note the total frequency amplitude & time taken for each vibrato cycle, and calculate a roughly equivalent trianglewave vibrato (left as exercise :))
2006-06-29 13:43
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmm. But Siddump shows me only the "base value"?!
Perhaps siddump doesn't recognize everything. :_(

Well, I've re-worked some old conversion, but the problem is that the melody-line doesn't sound 100% (let's say 98%-99%). It's not that I'm fussy, but the melody's feeling must be 100%. I don't think it would be a good idea to guess or experiment around.
Actually, if I enter f.ex 401, 402, 403, 404, it isn't possible detect if the other player uses same values... but however. :D

Of course: I can't have all, I can't have all... :-))))))

Btw. siddump interprets the $09 (at frame 0) as $01 if the player is the 'magic' sosperec-editor. Funny? :)

2006-06-29 15:10
cadaver

Registered: Feb 2002
Posts: 1153
If you want 100% same feel, you must ensure that the frequency changes are same on each frame, when you compare the dumps of the original and your version side-to-side :) You're right that it's not easy to deduce the shift parameter from dump output; the player might not be using the "frequencydifference and shift" (Shift+H) method at all!

Siddump should not be "interpreting" anything; the player is using firstframe value 1?

Anyway, I'm quite sure this discussion is very funny to outsiders and (IMO) you should seriously consider what you're actually contributing to C64 music scene. What is the value in a 100% exact copy?
2006-06-29 19:21
Bamu®
Account closed

Registered: May 2005
Posts: 1332
...well, probably I do nothing contribute to the c64-scene. Everything is for own pleasure and fun with GT2. :)

100% accurate is if it sounds not different. Ok, minimal differences are allowed (something that only siddump shows), but the general feeling must be there.
Actually, one of the problems with 4xy cmd's is that they aren't very flexible. F.ex what happens if I have (must!) to set a new Release value at the same step when the 'hifi' vibrato begins??? Hmmmm? :)

c-3 00F06
... 00000
... 00402 ; ... I would like to set a new Release value ... :(
... 00402
... 00402

---

Yes, siddump shows me a $01 instead of a $09. :)
This happens only with the sosperec player.

---

2006-06-29 19:26
cadaver

Registered: Feb 2002
Posts: 1153
And when I look at X-Out, there's even $08! Woohoo :)

You can make the sustain change happen in the wavetable. Btw. there are probably not many editors/players that allow any combination of effects at the same time or very close to each other.

Btw. it could be argued that even the very sight of someone writing on forums about exploits in siddumping & covering songs 1:1, as well as the finished releases themselves, are highly morally destructive and when someone currently inactive or considering quitting sees this, he definitely realizes that C64 music scene is doomed and must be quitted forever :)

..or then I'm just paranoid and look too much into things. But the point is, that everyone has responsibility, even when you try to hide it by saying something like "Everything is for own pleasure" and it's not simply that more releases = more good. We know that from the current C64 game scene already.
2006-06-29 19:42
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Actually, I can't see anything worse on my newest release. (maybe it's quite a boring tune?) :P

... and which responsibility?

---

Sustain change in wavetable works but isn't oldskool style.

2006-06-29 19:53
cadaver

Registered: Feb 2002
Posts: 1153
Responsibility for the development & morale of the scene.

Ok, it's perfectly fine by me if you deny yourself a solution by saying it's not oldskool. :)
2006-06-29 19:58
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Responsibility for the development & morale of the scene.

Ok, it's perfectly fine by me if you deny yourself a solution by saying it's not oldskool. :)


... but wavetable-pattern-effects aren't oldskool...! ???!?
2006-06-29 20:05
cadaver

Registered: Feb 2002
Posts: 1153
Well, GT2 on the whole isn't oldskool in any meaning of the word. An oldskool editor has usually 20+ instrument parameters instead of any significant step-programming capability (beyond wavetable perhaps), and definitely doesn't dynamically assemble the playercode :)
2006-06-29 21:22
Hein

Registered: Apr 2004
Posts: 933
Quote: ...well, probably I do nothing contribute to the c64-scene. Everything is for own pleasure and fun with GT2. :)

100% accurate is if it sounds not different. Ok, minimal differences are allowed (something that only siddump shows), but the general feeling must be there.
Actually, one of the problems with 4xy cmd's is that they aren't very flexible. F.ex what happens if I have (must!) to set a new Release value at the same step when the 'hifi' vibrato begins??? Hmmmm? :)

c-3 00F06
... 00000
... 00402 ; ... I would like to set a new Release value ... :(
... 00402
... 00402

---

Yes, siddump shows me a $01 instead of a $09. :)
This happens only with the sosperec player.

---



Nata, your 8580 tunes sound different on a 6581. You intended it that way, or are you running out of luck? :)
2006-06-29 22:50
cadaver

Registered: Feb 2002
Posts: 1153
Oh, that means the autodetection code is broken again :)
2006-06-30 07:07
Laxity

Registered: Aug 2005
Posts: 459
Quote: Well, GT2 on the whole isn't oldskool in any meaning of the word. An oldskool editor has usually 20+ instrument parameters instead of any significant step-programming capability (beyond wavetable perhaps), and definitely doesn't dynamically assemble the playercode :)

20+??.. You're kidding right!.. I think my old players (they have to be old enought to be truly oldskool, 1987) have 8 parameters per. instrument. Some slightly later version have wavetables, put no step programable stuff. No editor either ;)
2006-06-30 11:27
Hein

Registered: Apr 2004
Posts: 933
Quote: 20+??.. You're kidding right!.. I think my old players (they have to be old enought to be truly oldskool, 1987) have 8 parameters per. instrument. Some slightly later version have wavetables, put no step programable stuff. No editor either ;)

We're not all THAT old.
2006-06-30 13:07
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Nata, your 8580 tunes sound different on a 6581. You intended it that way, or are you running out of luck? :)

... another day, another bunch of questions... :)

1. Maybe you could explain why the frequency isn't set on frame 0 ?
This can cause bugs if waveforms $91,A1,C1, .... in "1stWave/Hardres" are used.

2. Why the gateoff timer can't be set to 0 ? Sync problems?
... maybe gateoff 0 could be useful?!

3. If someone would like to code on his own the note-independent vibrato .... Is this possible with the current playroutine?
IMHO shift+h is only a temporary solution and has nothing to do (or not much) with the real thing. :P

4. Shift+U is absolutely cool (not only my opinion), but always resets after closing GT2. Any chance for a cmd-line option? ... > please < ...

---

@Hein
May I ask you what you mean??
2006-06-30 14:13
Linus

Registered: Jun 2004
Posts: 638
are you seriously trying to tell us it's a problem to press 'shift+u' after starting goat? sorry but it is getting ridicoulus :)

what's next? 'compose-hit-autopilot'(press shift+alt+a)? :)
2006-06-30 14:35
dalezy

Registered: Apr 2002
Posts: 475
linus, that would be a cool addition indeed! either style could be predefined in the commandline, such as GT.exe -bohlen / GT.exe -fahrenkrog-petersen / GT.exe -farian ..
2006-06-30 17:14
chatGPZ

Registered: Dec 2001
Posts: 11118
Quote:

linus, that would be a cool addition indeed! either style could be predefined in the commandline, such as GT.exe -bohlen / GT.exe -fahrenkrog-petersen / GT.exe -farian ..


i totally agree with that :)
2006-07-02 08:26
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw.
Bohlen ROCKS!
2006-07-03 06:20
cadaver

Registered: Feb 2002
Posts: 1153
I have the feeling that the issue of noteinit has been discussed already many times. The purpose of a silent frame is to stabilize the attack part of ADSR, as well as mask the inactivity & save rastertime. In all my experiments, making the first frame audible with this kind of playroutine (writing ADSR before wave, JCH-style) leads to very sloppy and bad sounding attack. If you write wave before ADSR, it's a whole different story, and a whole different playroutine.

And in GT, setting frequency is totally tied into execution of wavetable. It would be probably a trivial hack to start wavetable exec. directly on the first frame, and having then to execute a row of E9 00 manually if a silent 1stwave was desired, but that is for your personally selected codeslave, not me, as I don't like to support suboptimal operation of the playroutine in official releases :)

As a summary, IMO the solution is simple: do not make the 1st frame audible :) The player is not meant to support that.

You do realize that gatetimer 0 means fetching new notes (and at the same time, performing gateoff/hardrestart) and doing note initialization on the same frame? This is not possible in GT for the horrible rastertime utilization it would cause, and it would make no sense, for then there would be no full gateoff/hardrestart frames, and the ADSR would bug or not function at all like expected.

Finally, it's very funny (or maybe not) that sometime ago you wrote to the effect of "now I'm satisfied" and then a couple of days later there's another question/requestlist. If you like Sosperec editor so much, maybe you should stick to it :)
2006-07-03 09:24
cadaver

Registered: Feb 2002
Posts: 1153
Btw. that last post inspired to release v2.49, which adds /G command line option for a safety feature: gatetimer change in one instrument will affect all (as bugs easily result otherwise), and firstwave will always be in the inaudible range (00 for legato, 01-0F for hardrestart and 81-8F for no hardrestart).

On by default, turned off with /G0.

2006-07-03 12:20
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Of course, I'm more than satisfied with GT. :)
And I do appreciate the (hard?) work YOU offer/spend for it.

Well, it wasn't supposed that this last questionlist contains requests (like a cmd-option for shift+u), but as it is a minimalist of request... :)

Sosperec: Well, in comparison to other DUR players it's quite 'userfriendly' and the player is advanced. But it is far away from the user-friendliness of trackers.

------

You wrote (some posts earlier):

"GT ideology = no player intelligence"


Hmmm. But Hard-restart contains intelligence? It is pre-calculated?
How we can detect where the "player intelligence" begins. Cadaver? :-D

From a 'musicians' point of view auto-calculation (In particular only: vibrato) is always (?) a good thing, since this means he can take care to more important things ...


Anyway, I think GT is very interesting for both (musicans&coders):

- If someone likes to include his music in demos/games or whatever GT offers already tons of optimzations. (Maybe it's possible to shrink the assembled playroutine a little bit more - who knows?)

- For musicians: "disable pulse-optimization" & "realtime effect skipping off"
(Something that satisfies me quite a lot) :)))

2006-07-03 12:26
cadaver

Registered: Feb 2002
Posts: 1153
IMO hard restart contains no real intelligence, you tell it what to do and it always does the same thing when given same parameters. Or maybe you misunderstand what it means.
2006-07-03 12:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: IMO hard restart contains no real intelligence, you tell it what to do and it always does the same thing when given same parameters. Or maybe you misunderstand what it means.

.... maybe :)

Btw. nice update!
2006-07-03 12:42
cadaver

Registered: Feb 2002
Posts: 1153
No, it's not, it's supposed to piss everyone off ;)

And yes, you are welcome to try to shrink the playroutine. Otherwise, it's nearly 100% useless to make comments like "maybe it can be shrunk..."
2006-07-03 12:47
Bamu®
Account closed

Registered: May 2005
Posts: 1332
and after v2.49 comes v2.50 ? ;)
2006-07-03 12:57
cadaver

Registered: Feb 2002
Posts: 1153
Why, do you think it has some magic significance? As always, it's preferable that it will not come, but will be done if painfully necessary.
2006-07-05 08:18
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmm. Shift+h still produces sometimes complete trash... :_(
... needless to say more ...
2006-07-05 09:02
cadaver

Registered: Feb 2002
Posts: 1153
My guess is that you still can't use it properly. Notice that for vibratos, depth will be always ANDed to $00-$FF range, so you can't create very wide vibratos at high octaves.
2006-07-05 10:35
JackAsser

Registered: Jun 2002
Posts: 1989
@cadaver: Not that I have the faintest idea what you're talking about etc. but my bug-alarm just bleeped and I thought I'd share that an AND #$FF doesn't bound with saturation. Now I don't know if you want to bound with saturation or simply keep the value within a given range... :D
2006-07-05 10:59
cadaver

Registered: Feb 2002
Posts: 1153
Yes, I changed the wording of the message later. :) Actually if you redownload v2.49, it now saturates vibrato parameter to $ff.

(of course it doesn't really matter what method is used to keep the value within range, if it goes over it's still not what the user wanted, but that's the system you have to work with)
2006-07-05 11:18
Frantic

Registered: Mar 2003
Posts: 1627
Some (rough?) auto-generated statistics on the number of posts by different persons in this private, but still official, thread:

229 cadaver
224 nata
41 Hein
24 Linus
17 Raf
15 Randall
11 dalezy
9 Turtle
7 CreaMD
6 Yodelking
5 JackAsser
3 carlsson
3 Bordeaux
2 ninjadrm
2 Steppe
2 Puterman
2 Groepaz
1 anix
1 Twynn
1 Stryyker
1 Richard
1 Oswald
1 Mihai
1 Laxity
1 Kenho
1 Frantic

Cadaver and Nata are responsible for 74% of the 611 posts.

I really can't figure out what makes me follow this thread. I think I need help.
2006-07-05 11:28
cadaver

Registered: Feb 2002
Posts: 1153
Thanks for this very meaningful contribution. Though I guess it's still more useful to talk in public about featureset, even if others don't contribute much. However, if you aren't interested in the featureset but still follow, then you're right, you need professional help. :)
2006-07-05 13:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well, my guess is that it wouldn't be a bad idea to include the "real thing". ;)

Why not let decide the user if he want's to use pre-calculated vibratos or not?
Shift+h will be there anyway, since it is required for "optimized" composing.
I'm sure a seperate cmd-line option would do a perfect job.

Personally, I can't see any "intelligence" behind realtime calculation. It's not more/less intelligent as other player components of GT. So, it wouldn't clash with GT's "no intelligence" philosophy.

4xy cmd's are only for masochists ...
I won't use them because they only wastes pattern-lines which usually are used for other (more important) settings. (And no, it isn't always possible to "underneath" 4xy cmds)

"huge rastertime" usage could be an argument against realtime-vibrato, but for me it isn't important at all. I doubt that it will be higher than in other standard players.

... that's my "enthusiastic" opinion. :)

Actually, I would be glad to see some code examples (with comments) of note-independent vibrato. Anyone?

---

About shift+U: Ok, a cmd-line option isn't required. However, IMO it should remember all it's settings when closing. (like most other pc program too). Why make an exception in this case?
2006-07-05 14:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
.... maybe we should close this tread...?! :_(
2006-07-05 14:14
chatGPZ

Registered: Dec 2001
Posts: 11118
... maybe nata should learn coding? :=P
2006-07-05 14:17
cadaver

Registered: Feb 2002
Posts: 1153
..so that you won't be tempted to post more, or so that no-one else can post either? :)
2006-07-05 14:18
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well, unfortunately I will never learn to code.
However, it's just a question of time until I stop composing (so, any problem should be solved.) :-D

Cadaver wrote:
"..so that you won't be tempted to post more, or so that no-one else can post either? :)"

Hmm, the more I think about that.... :-P

BTW: Now this thread has nearly 10.000 views!!!!!!!!
2006-07-05 21:32
Turtle
Account closed

Registered: Jan 2002
Posts: 70
Maybe, I should release this GIGA-Thread at CSDb but I can't find the "wild" category....

It's somehow funny: 377 days and 617 replies meet in only 49 minor versions of improvement.... bah!! ;-)

cadaver: your stamina is absolutely admirable. Thumbs up!!
2006-07-05 21:50
cadaver

Registered: Feb 2002
Posts: 1153
It's rather like the whole development of GT1, but condensed into one year. But of course that is good if I don't have to bother with further upgrades now :)
2006-07-05 22:07
Turtle
Account closed

Registered: Jan 2002
Posts: 70
To be honest, isn't there a "little nata" in everyone of us?

Technical equipment can be used for good or evil. If all your efforts in improving GT2 will be used to please the audience, every line of code was worth it.
2006-07-06 11:32
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: It's rather like the whole development of GT1, but condensed into one year. But of course that is good if I don't have to bother with further upgrades now :)

I had the same thoughts. :)

Btw. When is the fifth anniversary of GT? :-D

EDIT:

Now, it seems that shift+h works quite nice. Thanks! ;)

---

@Frantic: Nice statistic!! :-D

2006-07-08 13:43
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi there!

I have some idea. :)

I think this could be very interesting for every GT user (the statistic created by Frantic tells these "interested" users/people). So, everyone who is interested - don't be shy and write what do you think about this ...
(Anyway, I know that Cadaver will read this but won't answer.) :P

The basic idea is a kind of limit-based pre-calculation of filter-slides and maybe pulse-slides too. (in pattern editor)
This would allow to create quite complex/advanced/modern slides in a quite easy way.

Example:

00 C-201A05 ; start value/cutoff $05 "task 1"
01 ...00000
02 ...00000
03 ...00000
04 ...00000
05 ...00000
06 ...00000
07 ...00000
08 ...00000
09 ...00000
10 ...00A80 ; end value/cutoff $80 for "task 1". / "task 2" start ...
11 ...00000
12 ...00A01 ; end value/cutoff $01 for "task 2"
13 ...00000
14 ...00000
15 ...00A07 ; ....
16 ...00000
17 ...00000
18 ...00000

Well, first you need to specify the start + end value. The problem is that this calculation needs to know the song tempo. However, the easiest way to get the tempo value is to check the first three patterns in the song (always the first pattern line), since it is quite common to store there the speed of the song.

> "task 1"

F.ex. If you press shif+h over "A05" (means cutoff = $05) the routine does the following (simplified):

1. Look for the song speed
2. Calculate: time/speed which is required to reach cutoff $80 at pattern step 10.
3. A speedtable entry is created. Note: For the first entry you have to add manually the "set filter" value.

> "task 2"

Then you press shift+h over "A80" (cutoff = $80):

1. Look for the song speed
2. Calculate: time/speed which is required to reach cutoff $01 at pattern step 12.
3. A speedtable entry is created. Note: This is a decreasing slide. (Creates negative modulation speed.


So, what do you (everyone) think about this "feature"?
2006-07-08 15:02
Steppe

Registered: Jan 2002
Posts: 1510
I think you're too lazy to use the windows calculator... ;-)
2006-07-08 19:29
cadaver

Registered: Feb 2002
Posts: 1153
Any "intelligent" calculation that depends on measuring a distance from the pattern is a bad idea, 'cos you need to know the tempo the pattern is played at, and there might not be a single correct answer. And this is something that has already been discussed. :)
2006-07-08 19:33
Soren

Registered: Dec 2001
Posts: 547
@cadaver: Well, some people just don't get it, how things are meant to be in c64 players :-)
No need for too much fancy stuff.
2006-07-08 19:44
cadaver

Registered: Feb 2002
Posts: 1153
@Jeff: it's of course trivial (when we talk about C and flat 32bit address space) to simulate-play the song in the editor up to the point that we know the tempo, but what bothers me is that there can be another occasion later in the song of the same pattern, played with another tempo. Therefore if I can't do a feature 100% right, I reserve the right to not do it at all :)
2006-07-08 23:11
Soren

Registered: Dec 2001
Posts: 547
@cadaver: I follow you at that point... Also I think the fun part in doing c64 music is to think a bit creative, like what can I do with these features I've got in this player/editor.
Often there are other ways of doing things. :)
2006-07-09 09:00
Hein

Registered: Apr 2004
Posts: 933
I think it's a handy feature, but also doable with some trial and error using a handmade filtertable.

There is something else that I find a bit annoying myself, the vibrato table has very low resolution on fast vibratos. At 1x there are only a few vibrato speeds that are usable (personally I think $01 and $02 for melodies). The $80 speed (very very slow) is totally useless. Why not shift it twice, so at 1x there are 8 usable speeds, still keeping enough usable vibratospeeds for 2x, 4x and 8x songs.
2006-07-09 09:53
cadaver

Registered: Feb 2002
Posts: 1153
Now I don't completely follow. The speedtable should allow you enough control :)

To recap: Left byte (speed) values:
00 - up 1x, down 2x, up 2x etc.
01 - up 1x, down 3x, up 3x etc.
02 - up 2x, down 4x, up 4x etc.
03 - up 2x, down 5x, up 5x etc.
all the way up to $ff. The $80 bit was actually for finetuning vibrato *depth* in time before speedtable.

Right byte (depth) is directly the value added/subtracted from frequency on each frame of vibrato. What's exactly that you want changed? There's no way (I think) to increase control without rewriting the vibrato algorithm.

I know other players might have table lookup-based vibratos, but this has been GT tradition for 5 years or so.
2006-07-09 11:04
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well, it was never planned that it supports songs with different tempos. :)
But anyway, it shouldn't be a problem to temporary change the "start-tempo" to another value for calculation in other patterns (that runs with a different speed)

The routine should look for Fxy cmd's on position 00. It doesn't depend on pattern numbers.
pos.00
66
01
23 ; the Fxy is f.ex in pattern 23

---

It's always funny to see why nobody else requests interesting features like this. Maybe people are too shy or not interested? I don't know... ...
Anyway, since for GT2 no realtime calculation is desired, my suggestion would do a good job for everyone.

---

@jeff

Well, this tool runs on pc. So, every fancy stuff is allowed. ;)
And who knows, tomorrow it's maybe standard for every other player. :P

And furthermore: Maybe it's a point of view, but it isn't a good idea to limit the PC-player/editor. Not only because a lot of people will use it, but even it stops the progress.
2006-07-09 11:52
cadaver

Registered: Feb 2002
Posts: 1153
Considering nonlinearity of filter, is it even useful, or musical, to think about reaching a certain cutoff value on a certain step? I mean, I don't think the brain can really imagine how the whole slide will sound, but rather trial & error is required anyway.

Pulse, on the other hand, usually goes on its own. Listen to Airborne Ranger maintune for some targeted pulse slides, they're ugly :)

Of course a nice editor would have all kinds of (pre)calculations, but preferably they'd be actually musically applicable.
2006-07-09 11:58
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Considering nonlinearity of filter, is it even useful, or musical, to think about reaching a certain cutoff value on a certain step? I mean, I don't think the brain can really imagine how the whole slide will sound, but rather trial & error is required anyway.

Pulse, on the other hand, usually goes on its own. Listen to Airborne Ranger maintune for some targeted pulse slides, they're ugly :)

Of course a nice editor would have all kinds of (pre)calculations, but preferably they'd be actually musically applicable.


8580 filters .... ;)
Of course there will be (at the beginning) some trial & error.

Cadaver wrote: "I don't think the brain can really imagine how the whole slide will sound"

Since people can compose even without any sound output - why not?
2006-07-09 12:12
cadaver

Registered: Feb 2002
Posts: 1153
Does your brain know (without hearing) that for example a slide ending to cutoff $18 with speed $03 will sound sexier than one ending to $28 with speed $02, when there are voices playing notes X and Y on other channels :)
2006-07-09 12:15
Hein

Registered: Apr 2004
Posts: 933
Quote: Now I don't completely follow. The speedtable should allow you enough control :)

To recap: Left byte (speed) values:
00 - up 1x, down 2x, up 2x etc.
01 - up 1x, down 3x, up 3x etc.
02 - up 2x, down 4x, up 4x etc.
03 - up 2x, down 5x, up 5x etc.
all the way up to $ff. The $80 bit was actually for finetuning vibrato *depth* in time before speedtable.

Right byte (depth) is directly the value added/subtracted from frequency on each frame of vibrato. What's exactly that you want changed? There's no way (I think) to increase control without rewriting the vibrato algorithm.

I know other players might have table lookup-based vibratos, but this has been GT tradition for 5 years or so.


There's always a workaround to every detail, and probably Im too much focused on using different vibos than the ones available. But simply put, what if I need a vibrato speed between value $01 and $02? A 2x tune allows for this, then it would be value $03, a 1x tune would need 1.5.

Maybe its needed to have frames that dont do anything for that to accomplish.
2006-07-09 12:18
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Does your brain know (without hearing) that for example a slide ending to cutoff $18 with speed $03 will sound sexier than one ending to $28 with speed $02, when there are voices playing notes X and Y on other channels :)


Well, IF it isn't the same then maybe YES. :)
2006-07-09 12:19
cadaver

Registered: Feb 2002
Posts: 1153
@Hein: show me the code that will skip vibrato frames. Preferably in less than 16 bytes :)

You can probably program a wavetable loop that accomplishes a certain "inbetween" vibrato, though.
2006-07-09 12:26
Hein

Registered: Apr 2004
Posts: 933
Quote: @Hein: show me the code that will skip vibrato frames. Preferably in less than 16 bytes :)

You can probably program a wavetable loop that accomplishes a certain "inbetween" vibrato, though.


...
Ah, that sounds like a good workaround. I will try that.
2006-07-09 13:17
cadaver

Registered: Feb 2002
Posts: 1153
Another way to slow down vibrato is to put a fast tempo on a channel and make sure "realtime-effect optimization" is on. Each tick0, the vibrato will not run.
2006-07-09 15:59
Linus

Registered: Jun 2004
Posts: 638
lo,

still, if it isn't too much hassle why not implement auto-depth calculation of vibrato by a command-line option? For tracks supposed to eat less rastertime it could be switched off.

2006-07-09 16:29
cadaver

Registered: Feb 2002
Posts: 1153
Hmm, I think I've explained enough times now that in my opinion it doesn't belong to GT. (it pays to read the whole thread :)) Anyone is free to hack it and use in a personal version (or even release that), though.
2006-07-09 17:10
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cadaver, "Airborne Ranger" doesn't sound bad/ugly at all. :)
It's a good example to show what could be done with GT2 + "limit-based" programming of filters/pulses in patterns. IMO it would be very, very, very flexible and comfortable + advanced.
2006-07-09 17:25
cadaver

Registered: Feb 2002
Posts: 1153
During the time it took you to listen to AR and write the reply, I'm sure you could have calculated quite a lot of filter & pulse slides with calculator :)
2006-07-09 17:28
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Then, tell me how to calculate...

Calculating with calculator isn't composing and not fun. Plus it is extremely slow.
2006-07-09 17:38
cadaver

Registered: Feb 2002
Posts: 1153
To be honest, if you can't figure it out yourself, I have no interest & obligation to tell ;)

Think a bit yourself, instead of "gimme gimme gimme" everytime things aren't exactly how you want them. This is afterall the csdb which is supposed to represent the best c64scene has to offer, before everything sinks into the mediocrity of lemon and other romz sites :)

Hint: it's not complicated.
2006-07-10 07:42
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm, how can I convince you to implement this feature?
Money? Where is the donate button?
Then, maybe even a nice digi-channel comes true... :-D

---

Sorry, but I'm not patient enough for haxoring around with the calculator.
For my taste it's really unmusical.
The only thing I wish is to compose in a unconcerned way. :)
But however... :-I

Nobody would compose with GT:
If f.ex the frequency of every note has to be calculated every time with the calculator. Don't you agree?

About: "gimme gimme gimme":
Well, everytime if things aren't exactly how I want - I switch on my brain and consider "Which kind of features I can request, in order to make Cadavers life more difficult?" :))))))))
2006-07-10 09:44
chatGPZ

Registered: Dec 2001
Posts: 11118
a digi channel....now thats something i would like too.... if i would ever come around doing a tune again :=D
2006-07-10 12:02
cadaver

Registered: Feb 2002
Posts: 1153
@Nata: not only the reason I've already stated, but filter slides would rarely reach the destination on the intended spot. Next you'd be begging for more accuracy in the cutoff frequency.

And another helpful hint: whenever you find yourself spewing tons of text, it's probably not going to help you.
2006-07-10 12:22
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Btw.
"Optimize everything" erases instrument 63 if used for controlling the tempo. :)
The packer works fine! It doesn't remove it.

---

It's interesting to see how useless the repeat-cmd's are. (if "optimzation" is "ON")
Even in "normal mode" they hardly have advantages. :)
What I mean? Well, if the song is already optimized with sngsplit2.exe, then repeat-cmd's only increase the playroutine and the file size. ;-P

---

Have you ever thought about a kind of songsplit that is accessible from packer? It should be as good as sngspli2.exe, but automatically find the best split (compromiss between filesize & memory-usage)
For me it's no problem to use the cmd-line tool, but as I see many people don't recognize that they have to split their songs... :-D

Further, It would be quite useful to see more statistics within the packer: file size of single instruments/optimized tables, included routines and everything what could be useful.

---

Do I never get tired of GT? Probably not!
But maybe, now it's time to make holiday from it. :)
2006-07-10 12:30
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: @Nata: not only the reason I've already stated, but filter slides would rarely reach the destination on the intended spot. Next you'd be begging for more accuracy in the cutoff frequency.

And another helpful hint: whenever you find yourself spewing tons of text, it's probably not going to help you.


Hmm? cutoff isn't accurate enough? ;)
2006-07-10 12:39
cadaver

Registered: Feb 2002
Posts: 1153
Fixed the optimizer bug, and also multispeed default tempo (v2.5 out now)
2006-07-10 12:44
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Fixed the optimizer bug, and also multispeed default tempo (v2.5 out now)

Heee, but v.2.5 hasn't any new & cool features? :-I
2006-07-10 12:52
Yodelking

Registered: Apr 2002
Posts: 189
Quote: Heee, but v.2.5 hasn't any new & cool features? :-I

Did you try /digi in the command prompt?
2006-07-10 12:57
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Did you try /digi in the command prompt?

Heeeeeeeeeeee! :_(
2006-07-11 08:29
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Did you try /digi in the command prompt?

Is this a joke?
2006-07-11 09:47
Steppe

Registered: Jan 2002
Posts: 1510
I did a quick test with the Turbo Outrun samples and it seems to work fine here. Hit Strg+Shift+D in the editor to get to the digi patterns. Great job, Cadaver!!! \o/
2006-07-11 12:49
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@steppe + Yodeling

Hey, why you both make such stupid jokes?
And why there should be a secret digi-channel?

Btw. Any oldskool-digi implementation is pure shit. Looping samples are the minimum. 8580 support should be standard. And not to forget: Audible editing is an absolute -> !!! ABSOLUTE!!!! MUST!!
No "audible" editing is one of the reasons why 99% of all c64-editors are on my personal hate-list.

---

Edit:
Anyway, now I did my own 3+digi editor. Still it looks very raw, but it works quite fine for me. Please don't complain - there won't be daily updates, because YOU can't have all.

Ok, here you can see a first picture of it:

http://img81.imageshack.us/my.php?image=trackerdigi5dj.jpg

2006-07-11 13:21
Hate Bush

Registered: Jul 2002
Posts: 453
I think GRG's custom digiplayer has some of the features listed, for it sounds very advanced. But it is, FORTUNATELY, unreleased, and we don't have to face a flood of painfully amateurish pseudo-4-channel tunes, made up from example samples, badly looped and all in all unlistenable.
If you don't agree, look at the amount of Reflextracker tunes available. How many of them (leaving PVCF's works out) are actually good? Two? Three? Some tools should never reach public hands.
2006-07-11 13:33
Yodelking

Registered: Apr 2002
Posts: 189
Quote: @steppe + Yodeling

Hey, why you both make such stupid jokes?
And why there should be a secret digi-channel?

Btw. Any oldskool-digi implementation is pure shit. Looping samples are the minimum. 8580 support should be standard. And not to forget: Audible editing is an absolute -> !!! ABSOLUTE!!!! MUST!!
No "audible" editing is one of the reasons why 99% of all c64-editors are on my personal hate-list.

---

Edit:
Anyway, now I did my own 3+digi editor. Still it looks very raw, but it works quite fine for me. Please don't complain - there won't be daily updates, because YOU can't have all.

Ok, here you can see a first picture of it:

http://img81.imageshack.us/my.php?image=trackerdigi5dj.jpg



Nata, sorry if you thought it was a stupid joke, I actually thought everyone understood it was a joke.
Since Cadaver said digichannel will never come, and he said 2.50 is just another version number, not a number where he would add something special, I thought it was quite obvious that I was just joking.
2006-07-11 14:01
Steppe

Registered: Jan 2002
Posts: 1510
It was just a joke, calm down. I hate holding up that "irony" sign if it's really obvious...
2006-07-11 15:21
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: I think GRG's custom digiplayer has some of the features listed, for it sounds very advanced. But it is, FORTUNATELY, unreleased, and we don't have to face a flood of painfully amateurish pseudo-4-channel tunes, made up from example samples, badly looped and all in all unlistenable.
If you don't agree, look at the amount of Reflextracker tunes available. How many of them (leaving PVCF's works out) are actually good? Two? Three? Some tools should never reach public hands.


Fortunately unreleased? :-)
Well, I don't agree. Not anybody is a professional composer. IMHO everyone should have the opportunity to compose digi music (in a simple way). It doesn' matter if it sounds worse.

Ok, I own the version from 2003, but there is no audible editing of digis. This is something that sucks. :-(
2006-07-11 16:41
Hate Bush

Registered: Jul 2002
Posts: 453
C64 digis are something that sucks. Most of the time. Sucksucksucksucks. It's hot in herre produced by the neptunes and I'm slowly getting out of my mind, I'll be back in a few weeks.
2006-07-11 17:43
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: C64 digis are something that sucks. Most of the time. Sucksucksucksucks. It's hot in herre produced by the neptunes and I'm slowly getting out of my mind, I'll be back in a few weeks.

Maybe oldskool digis suck, but not newskool. :)))))
2006-07-11 21:13
Laxity

Registered: Aug 2005
Posts: 459
Quote: C64 digis are something that sucks. Most of the time. Sucksucksucksucks. It's hot in herre produced by the neptunes and I'm slowly getting out of my mind, I'll be back in a few weeks.

You forgot to mention that c64 digi sucks.. So I'll do it for you: "c64 digi SUCKS... Badly"
2006-07-11 21:41
Tch
Account closed

Registered: Sep 2004
Posts: 512
Quote: You forgot to mention that c64 digi sucks.. So I'll do it for you: "c64 digi SUCKS... Badly"

Not on my C64II they don´t! ;)
2006-07-11 22:21
Raf

Registered: Nov 2003
Posts: 343
Quote: I think GRG's custom digiplayer has some of the features listed, for it sounds very advanced. But it is, FORTUNATELY, unreleased, and we don't have to face a flood of painfully amateurish pseudo-4-channel tunes, made up from example samples, badly looped and all in all unlistenable.
If you don't agree, look at the amount of Reflextracker tunes available. How many of them (leaving PVCF's works out) are actually good? Two? Three? Some tools should never reach public hands.


I hope what you had written is not serious.

if GT Weren't public you also couldn't compose your own music , right?
2006-07-11 22:34
cadaver

Registered: Feb 2002
Posts: 1153
GT isn't the only editor in the universe? :)
2006-07-11 23:29
Raf

Registered: Nov 2003
Posts: 343
Hey , Cadaver ;p Randall uses GT mainly or only to my knowledge :)
2006-07-12 13:34
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: GT isn't the only editor in the universe? :)

Of course, it is the ONLY for PC! ;)
2006-07-12 15:32
chatGPZ

Registered: Dec 2001
Posts: 11118
god forbid using a c64 editor in an emulator! OH NOES!
2006-07-13 05:38
Raf

Registered: Nov 2003
Posts: 343
@nata: actually there is one more PC-sid tracker , from the maker of sidulator :) supports hardsid and resid emulation.

and... I consider composing using GT and hardsid/fake hardsid composing on real thing :)

yesterday I just setup my c64 near PC to use it fot gt and listeting to sid-music. and shitty win xp supports it too after some fighting :)

men , it's way better than resid and muuuuch cjeaper way than hardsid , and there is no fucking latency in editor at once! and you can use vice with real C64 sounds too ;p
2006-07-13 05:42
Raf

Registered: Nov 2003
Posts: 343
oh my post @ 2006-07-12 00:21 was the 666th if I counted it properly...am I devil? ;-)
2006-07-13 09:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: @nata: actually there is one more PC-sid tracker , from the maker of sidulator :) supports hardsid and resid emulation.

and... I consider composing using GT and hardsid/fake hardsid composing on real thing :)

yesterday I just setup my c64 near PC to use it fot gt and listeting to sid-music. and shitty win xp supports it too after some fighting :)

men , it's way better than resid and muuuuch cjeaper way than hardsid , and there is no fucking latency in editor at once! and you can use vice with real C64 sounds too ;p


Let's see if this other Pc-sid tracker rocks.... :-I

Btw.

... where I can find Hardsid fake drivers?
2006-07-13 10:55
cadaver

Registered: Feb 2002
Posts: 1153
Heh, it'd be beneficial if nata takes up knorbul as his primary tracker, and thus featurerequests are redirected :)

Though if the website was up-to-date, there's still some way to go (like adding C64 replay code)
2006-07-13 11:57
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Bleh, that other pc tool seems not to produce familiar SID music?!?! :D

knorbul: a veeery inspiring name

---

Btw. latency sucks! :))))))
2006-07-13 13:09
chatGPZ

Registered: Dec 2001
Posts: 11118
Quote:
Bleh, that other pc tool seems not to produce familiar SID music?!?! :D


hu? if this: http://mc.sys5.se/music/Mindcooler%20-%20Dark%20Force.mp3 doesnt sound like SID music to you, you arent familiar with it at all!
2006-07-13 13:35
cadaver

Registered: Feb 2002
Posts: 1153
I guess nata means it doesn't sound hifi and modern enough.

Hifi and modern ... grim & necro of the C64 music scene :)

(EDIT: Ahaha, postcount 666, SATAN IS STRONG IN ME!!!)

(EDIT 2: We need musiceditors to enforce rules of SID music, they can't be allowed to save a song without pulsemodulation, otherwise someone might think that's all the editor can do! God forbid anyone try covering Wizardry in GT...)
2006-07-13 13:54
chatGPZ

Registered: Dec 2001
Posts: 11118
strangely enough, quite a lot of my alltime favourites (super huey, aztec challange, killerwat...) are terribly non hifi. and i love it. thats rock'n'roll for ya! screw those polished sissie sounds :=)
2006-07-13 18:14
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

I think GT does a better job. That other tool is quite confusing. Plus I only can see a white pattern editor??
But anyway, I CANT HAVE ALL :P

Edit:
Yeah, that tool (I cant remember its name) seems to produce only something like atari 8bit. I guess it isn't really modern/hifi enough. :)
2006-07-13 18:51
Laxity

Registered: Aug 2005
Posts: 459
Quote: strangely enough, quite a lot of my alltime favourites (super huey, aztec challange, killerwat...) are terribly non hifi. and i love it. thats rock'n'roll for ya! screw those polished sissie sounds :=)

I know EXACTLY what you mean.. HiFi up the bum!.. Composition comes before nifty sounds.
2006-07-14 08:34
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm, what happens if a song contains transpose values?
It's absolutely impossible to enter any usable note values since the pattern is "out of tune", but not the instrument. (with the same amount)
Ok, I think should be hard to detect the current transpose value - so it's not a bug. :)

---

@Laxity

Laxity wrote:"Composition comes before nifty sounds"

I think there aren't many c64 musicians that are able to compose a nice song with advanced/nifty/up-to-date instruments. :I
2006-07-14 09:25
cadaver

Registered: Feb 2002
Posts: 1153
@Nata: maybe you should start a knorbul thread and not clutter this one

(at least I assume that's a knorbul question, 'cos it doesn't seem to make sense for GT)
2006-07-14 11:33
chatGPZ

Registered: Dec 2001
Posts: 11118
Quote:

I think there aren't many c64 musicians that are able to compose a nice song with advanced/nifty/up-to-date instruments. :I


that said, where are yours? or are you trying to blame your tools for your inabilities?
2006-07-14 12:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw.

Cadaver! Have you ever thought about to make a REAL tracker for the c64? (Of course you have thought about that)
There are a lot editors that abuse the name "tracker", but actually are DUR based. :I
Unfortunately your NINJA is not TRACKER. :-]]]

F.ex:

"Acid Track Creator" = DUR.-editor
"Doubletracker" DUR.-editor
"Sadotracker" = DUR.-editor :)
"Voicetracker" = DUR.-editor
"Ninjatracker" = DUR.-editor :)
...

I guess, It would be quite interesting to see a real "Ninja"-TRACKER, or something that is inspired by trackers. (Yes, now I know that "standard" trackers only wastes memory)
But anyway! I think, a good Tracker doesn't need tons of (pattern) effects. (no need for a pattern-vibrato-effect)

First I had my doubt's about a Tracker that puts everything onto one screen.
But now I think it is quite a clever idea. (Of course, patterns can be enlarged to full screen if desired)
2006-07-14 12:18
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Hmm, what happens if a song contains transpose values?
It's absolutely impossible to enter any usable note values since the pattern is "out of tune", but not the instrument. (with the same amount)
Ok, I think should be hard to detect the current transpose value - so it's not a bug. :)

---

@Laxity

Laxity wrote:"Composition comes before nifty sounds"

I think there aren't many c64 musicians that are able to compose a nice song with advanced/nifty/up-to-date instruments. :I


@cadaver

about transpose: NO!!!! It's a GT question!!!! :)
2006-07-14 12:20
cadaver

Registered: Feb 2002
Posts: 1153
You mean for the Shift+H function? It doesn't care of transpose and never will. Notice, however, the keys to "transpose" speedtable values halfstep or octave up/down, they may come handy.
2006-07-14 12:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: You mean for the Shift+H function? It doesn't care of transpose and never will. Notice, however, the keys to "transpose" speedtable values halfstep or octave up/down, they may come handy.

No I mean for the orderlist. If I transpose the whole pattern. :)
2006-07-14 12:25
cadaver

Registered: Feb 2002
Posts: 1153
Well, I still don't understand, for I've used orderlist transpose without trouble for years. You don't have to use it if you think there's something wrong with it :)

Ah, you mean for hearing the entered notes, transpose is not in effect and won't be :)
2006-07-14 12:31
Bamu®
Account closed

Registered: May 2005
Posts: 1332
It's nothing wrong with it (I hope).
I think it's not possible to transpose the audible entering of notes as well. (+,-) if I write notes into transposed patterns.
2006-07-14 12:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Well, I still don't understand, for I've used orderlist transpose without trouble for years. You don't have to use it if you think there's something wrong with it :)

Ah, you mean for hearing the entered notes, transpose is not in effect and won't be :)


Ok, I have expected this. :)
2006-07-14 12:33
cadaver

Registered: Feb 2002
Posts: 1153
People have had 5 years to complain about that, but it hasn't seemed to be a problem :) IMO you have a bad habit of exaggerating problems ("It's absolutely impossible")

And btw. thanks for letting me know what you'd want, now I'll make sure to never make that kind of C64 musiceditor :) To be honest, the thing is that when/if I make an editor to run on C64, it is for my exact needs (game music creation) with concern only for memory & rastertime, not features.
2006-07-14 12:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well it's no problem. I think it's only nitpicking from me. :)
2006-07-14 12:49
cadaver

Registered: Feb 2002
Posts: 1153
Actually, now that I think of it, it makes no sense to use transpose if the pattern isn't also first played untransposed, and usually at that time you also compose the most of the pattern.
2006-07-14 14:28
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: People have had 5 years to complain about that, but it hasn't seemed to be a problem :) IMO you have a bad habit of exaggerating problems ("It's absolutely impossible")

And btw. thanks for letting me know what you'd want, now I'll make sure to never make that kind of C64 musiceditor :) To be honest, the thing is that when/if I make an editor to run on C64, it is for my exact needs (game music creation) with concern only for memory & rastertime, not features.


but GT2 is quite far away from YOUR personal & exact needs. :P

Anyway, it's not hard to find out what kind of music-editor I want/prefer.
I guess every (or almost every) music-routine coder will only include that what he needs or finds useful. :)

about GT2 + NTSC: Hmmm. Are there any NTSC composers?
2006-07-14 15:22
cadaver

Registered: Feb 2002
Posts: 1153
GT2 doesn't run on C64.

Playroutines are fun, but coding editors sucks :) Start learning coding now and when you know what you want, you can write the routine & skip the editor & compose directly in sourcecode...
2006-07-14 15:28
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Why coding editors sucks? And playroutines not...?
2006-07-14 15:30
cadaver

Registered: Feb 2002
Posts: 1153
Playroutine is considerably smaller amount of code, and close to the metal. The editor is almost like any boring application :)
2006-07-14 15:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: GT2 doesn't run on C64.

Playroutines are fun, but coding editors sucks :) Start learning coding now and when you know what you want, you can write the routine & skip the editor & compose directly in sourcecode...


... but I already know what I want ... :)
2006-07-14 15:35
cadaver

Registered: Feb 2002
Posts: 1153
So don't waste your time posting here, go learn to code now!

(of course expressing what you want in terms of SID-writes and musicdata format is another thing, even if you know how to code)
2006-07-14 15:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I don't think this would help much.
I think there is a good reason, why some people are coders and others ONLY musician. :)
2006-07-14 15:44
cadaver

Registered: Feb 2002
Posts: 1153
It would help these forums greatly. :) (assuming you'd have no coding n00b questions)
2006-07-14 15:46
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw.
And NinjaTracker hasn't a nice + simple interface? (I like it)
2006-07-14 15:50
cadaver

Registered: Feb 2002
Posts: 1153
That's your first project then, hack JCH hardrestart to it and be satisfied for ever.
2006-07-14 15:58
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm. :I
I think it would be cleverer to replace JCH's interface with something that looks like GT. :D
2006-07-14 16:36
cadaver

Registered: Feb 2002
Posts: 1153
Would this include hacking the feature-set also? Otherwise, I have the feeling that just learning the interface would be more cost-effective.

Of course, you could always start looking for a paid codeslave...
2006-07-14 22:14
Raf

Registered: Nov 2003
Posts: 343
@Nata: I PM'ed you already - sorry for delay but I forget my CSDB password and I had troubles recovering it due to so badly dealyed mail arrival on my primary account (very annouyg that most of email I get is delivered susually 3-4 days after sending (this happens since about 3 weeks ))


and for others: fake hardsid is no more avaiable on the net but I own a copy due to courtesy of Booker. if anyone is interested I may send you required archive.

Cadaver: would it be hard to add 2x hardsid support in GTSTEREO? I mean using two separate one-sid hardsid cards or one hardsid quattro utilizing two sids...

I know you're not interested at hacking it just now but I always wondered about this possibility ...
2006-07-14 22:20
cadaver

Registered: Feb 2002
Posts: 1153
@Raf: I guess it's not really hard, though one might have to insert some code from GT mono back to the stereo, because I think I ripped the hardsid support code completely out.

I don't have two cards so I rather not do features I can't test.
2006-07-15 08:24
Raf

Registered: Nov 2003
Posts: 343
a bit OT, who cares? ;-)

nah I should back to high-level code ;-) writing an fake dll for stereo over pc64 this time wouldn't be that hard , especially because hard software supplies complete DLL functions prototypes. driver on C64 side is less than 50 bytes anyway, disassembling and hacking should uncover the idea...
2006-07-15 09:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@cadaver

Hadn't I mentioned that I also would pay for it? (* Where is the donate button? *)
Anyway, the music-editor I envision isn't too complex.

about: "interfaces can always be learned":

Yes but GTs interface + handling is simply the best. (I extremely enjoy it's ingeniously orderlist + the the way of testing instruments)
Personally I don't like JCH's way of editing patterns/orderlist. (Needless to say, that I hate Super/slide cmd's) But the instrument editor is Ok.

So, why I should change to another system? Hmmm?
... and btw: I don't think that my standards are far away from any healthy composing. :)

but now enough about that!

------

Attention! Now follows a questionlist:
(everybody who is not interested: IGNORE IT!

- what do you think (just if YOU like) about a "Poly-Play" function?
So, GT could be used for live-play.... :)

- about 25hz-mode: would it be possible to divide the frames into smaller pieces?
I mean, 1 frame is too much in 25hz mode. Half the frame? Is that possible?
This would increase the sound quality.

(hehe, just a few questions - I know that nothing will come)
2006-07-15 09:46
Soren

Registered: Dec 2001
Posts: 547
poly play in sid editors is not what you need. especially if you have a filtered sound, it will easily get "distorted" when playing it with more than 1 voice... and besides... I am quite sure Goattracker and most other sid editors weren't meant to bw used for liveacts. Atleast not if you were thinking of it like a synth you can jam on.

:-)
2006-07-15 09:49
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well, no distortion with 8580 SIDs :))))))
2006-07-15 10:53
Raf

Registered: Nov 2003
Posts: 343
Quote:

- about 25hz-mode: would it be possible to divide the frames into smaller pieces?
I mean, 1 frame is too much in 25hz mode. Half the frame? Is that possible?
This would increase the sound quality.


I wonder what do you exactly mean... but I think i get it right

simple 25Hz playing rate means you poll player every second frame but you want have have even less raster usage but every frame.... but it's not that easy and why did you thought it could made sound better? IMO it wont because you have to decide to what to split to be played on each "odd" and "Even" frames ... and this probably would need speciallly designed player... anyway It's interesting what Cadaver will say on this ;-) (no , I don't want you to implement this , just I'm curious how would you do such a player inside :D )
2006-07-15 11:11
cadaver

Registered: Feb 2002
Posts: 1153
I'll just let you ramble on this feature, and others :)

But yeah, I can guess that any uneven "split" in frame timing would sound ugly. Btw. a 25Hz frame is 40 ms. Split it in half and you get 20 ms, which is ... wohoo ... 1x speed!
2006-07-15 13:03
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Cadaver! Is there a trick for vibrato that simulates a depth slide? (something like for filters/puls).

F.ex it "slides" automagically from "02 20" up to "02 ff"

Ok, I could use some 4xy cmd's in pattern, but that's a bit too luserish since it's not always possible to set a new 4xy cmd. :)

Maybe it's possible to link the vibrato with a loop/slide cmd in another table (wavetable)??

Cadaver?
2006-07-15 14:54
cadaver

Registered: Feb 2002
Posts: 1153
No such trick.

To keep things in tune, make sure you only change depth when the vibrato cycle restarts, for example each 6 vibrato ticks for speed 2 ( cycle length = (speed+1)*2 )

Switching realtime-optimization off helps a lot, as then vibrato is executed on each pattern tick. If you use tempo 3 in the above example, you can mix other pattern commands inbetween.
2006-07-15 16:31
Raf

Registered: Nov 2003
Posts: 343
Quote:

But yeah, I can guess that any uneven "split" in frame timing would sound ugly. Btw. a 25Hz frame is 40 ms. Split it in half and you get 20 ms, which is ... wohoo ... 1x speed!


I wrote some shit , I didn't mean exactly that :) I thought about doing some things on one frame then playing sound on the other + doing rest things - hope this sound more clearly now ;-)
2006-07-15 16:42
cadaver

Registered: Feb 2002
Posts: 1153
Yeah, it'd be sort of what Dante's Inferno does (Fred Gray was given very little rastertime.) And we know it doesn't sound pretty :)
2006-07-15 16:43
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: No such trick.

To keep things in tune, make sure you only change depth when the vibrato cycle restarts, for example each 6 vibrato ticks for speed 2 ( cycle length = (speed+1)*2 )

Switching realtime-optimization off helps a lot, as then vibrato is executed on each pattern tick. If you use tempo 3 in the above example, you can mix other pattern commands inbetween.


Hmmm. :I
Yeah, but the depth should increase automatically. (instrument setting) Would be a nice little feature. :)

Cadaver?
2006-07-16 07:27
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmmm.
I have tried to experiment with "sliding" vibrato but nothing works here. At least not as it should.

---

Cadaver!
It seems that v2.5 is more or less the final version!?!?
Won't there come any new & fresh features? :_(
I think the features I've requested in the last time would easily increase version number to v3.0. :D

---

Btw. Maybe a included 6510 emulation could be useful/interesting. :))))
2006-07-16 18:34
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Some idea for a theoretical GT2 port to C64:
Wouldn't it be possible to manage music memory dynamically? This would save a lot of memory!
I mean the editor could 'compress' patterns that currently aren't used.

What do YOU think about that?
2006-07-16 20:26
cadaver

Registered: Feb 2002
Posts: 1153
Dynamic memory handling = need to move stuff around to make free space continuous (and thus useful again) = slow editor

IMO in any editor, it's better to give hard limits (for example 128 patterns and 8 subtunes), but then you can be sure that those can be used to the fullest.
2006-07-24 09:15
Raf

Registered: Nov 2003
Posts: 343
use this HSDClone (Hardsid clone) , connect real C64 to PC and forget about spending 100E on hardsid ;-) the only problem is need to build PC64 cable - who has got userport plugs nowadays? [let's make DB25 cannon in c64 or solder cable directly to UP - I have taken both solutions in the past]
2006-07-24 20:23
Laxity

Registered: Aug 2005
Posts: 459
Quote: Dynamic memory handling = need to move stuff around to make free space continuous (and thus useful again) = slow editor

IMO in any editor, it's better to give hard limits (for example 128 patterns and 8 subtunes), but then you can be sure that those can be used to the fullest.


I was thinking of doing exactly that for a PC port of SID Factory.. Now that I think of it, I was considering realtime packing in my 64 editor too, but skipped it as it was a bitch to do in assembler, and I'd much rather get the editor working fast ;).

You don't need to allocate memory dynamically either! I think the biggest problem is to ensure that replaying doesn't go out of sync, if you're editing a pattern currently played. Anyway, not so interesting to discuss, but interesting to implement. You'd probably have to make yet another fileformat for Goat if you do :P
2006-07-24 22:18
cadaver

Registered: Feb 2002
Posts: 1153
In Ninjatracker patterns are also always being compressed into memory, with 256 bytes reserved for each (the maximum the playroutine can handle, same as in GT) and I don't give a shit whether realtime editing results in the playback going out of sync :)

The way I think of it, always packing the edited patterns would be just the *first* step to make a theoretical, cut-down C64 GT2 even possible.
2006-07-30 11:15
Bamu®
Account closed

Registered: May 2005
Posts: 1332
---
2006-07-30 16:18
Steppe

Registered: Jan 2002
Posts: 1510
Your point being, nata? Is "---" an expression of joy, hate, fear, agreement or refusal? Or an attempt at having the last word despite having nothing to contribute? ;-)
2006-07-30 21:58
Hein

Registered: Apr 2004
Posts: 933
.
2006-07-31 07:21
cadaver

Registered: Feb 2002
Posts: 1153
+++ (gate on)
2006-07-31 07:59
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Your point being, nata? Is "---" an expression of joy, hate, fear, agreement or refusal? Or an attempt at having the last word despite having nothing to contribute? ;-)

Not really. Unfortunately there is no DELETE BUTTON.
2006-08-04 18:35
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: +++ (gate on)

Sorry, ... :)

about 1stwave:

Personally I would prefer if I write (f.ex) a 'C1' to 1stwave (only in that case) the new frequency is set as well on 1stwave. (would be a great benefit for sane composers) :D
I must say that I really don't like the traditional way of disabling hardrestart in GT2 (81 or 89 isn't soft enough).
2006-08-04 19:57
cadaver

Registered: Feb 2002
Posts: 1153
Too complicated. There would be one simple & raw solution but it would break existing use of value $80, as well as the use of legato instruments if someone uses them with constant gateoff, so I'd rather not do it.. and actually to stay in time with the rest of the instruments, frequency is not anyway supposed to be initted until the next frame.

For Follin-like flute leads, have you tried firstwave 10, 90, 11 or 91?

Sane composers probably know when to switch to another editor, though :)
2006-08-05 11:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Too complicated. There would be one simple & raw solution but it would break existing use of value $80, as well as the use of legato instruments if someone uses them with constant gateoff, so I'd rather not do it.. and actually to stay in time with the rest of the instruments, frequency is not anyway supposed to be initted until the next frame.

For Follin-like flute leads, have you tried firstwave 10, 90, 11 or 91?

Sane composers probably know when to switch to another editor, though :)


Is there a difference if I use for legato $80 or 00 ?
2006-08-05 14:18
Hein

Registered: Apr 2004
Posts: 933
$91 first wave is quite soft. \o/
2006-08-05 15:34
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Too complicated. There would be one simple & raw solution but it would break existing use of value $80, as well as the use of legato instruments if someone uses them with constant gateoff, so I'd rather not do it.. and actually to stay in time with the rest of the instruments, frequency is not anyway supposed to be initted until the next frame.

For Follin-like flute leads, have you tried firstwave 10, 90, 11 or 91?

Sane composers probably know when to switch to another editor, though :)


Hi!

I attached a file.
Do you hear the ugly pitch-bug when the snare sound plays?

http://rapidshare.de/files/28289033/test.zip.html

---------------------
052D (D#2 9B) 31 ....
.... ... .. 30 0F00
.... ... .. .. ....
.... ... .. 01 00A5
---------------------
03A9 A-1 95 21 ....
0AF7 (E-3 A8) .. ....
F820 (A#7 DE) 80 ....
.... ... .. .. ....
---------------------
F820 A#7 DE 31 1089 ; new waveform starts, but pitch isn't reset
.... ... .. 81 ....
0685 (G-2 9F) 31 ....
.... ... .. 30 ....
---------------------
.... ... .. .. ....
0685 G-2 9F 31 ....
F820 (A#7 DE) 81 ....
045A (C-2 98) 31 ....
---------------------


Btw.
I have re-downloaded GT, but still the packer fucks up the whole song. :(
I use instrument $3F for speed, but no pattern effects.

2006-08-05 16:16
cadaver

Registered: Feb 2002
Posts: 1153
If this is a test to see whether I've forgotten my principles, well, at least I remember this one: I promised to ignore any further files from rapidshare :)

As for the other issue, see your email.
2006-08-05 16:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: If this is a test to see whether I've forgotten my principles, well, at least I remember this one: I promised to ignore any further files from rapidshare :)

As for the other issue, see your email.


:D

... but you already have downloaded the test file... ;)
2006-08-05 16:41
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw.
Where is the problem with rapidshare??
2006-08-06 08:39
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hello???
Then shall WE live with these pitch bugs??? :(
2006-08-06 09:07
cadaver

Registered: Feb 2002
Posts: 1153
By using unsilent firstwave you're firmly in unsupported territory. Get clever with the wavetable or creating alternate versions of instruments for any trouble spots.
2006-08-06 10:32
Linus

Registered: Jun 2004
Posts: 638
Hi Cadaver. I wonder if it would be possible to add another wavetable with the size of $FF available positions since I'd really love to try my luck with an 8xspeed track. I obviously need more than $FF wavetable positions to do so. Any chance? :)
2006-08-06 10:37
cadaver

Registered: Feb 2002
Posts: 1153
No.
2006-08-06 10:57
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: No.

*by the way* :D

Why instrument vibrato isn't audible if I use toneportamento cmd 300 (tie note)?
2006-08-06 11:05
cadaver

Registered: Feb 2002
Posts: 1153
Because playroutine is branching to toneportamento code instead of vibrato code. :-I
2006-08-06 11:12
Hein

Registered: Apr 2004
Posts: 933
There aren't many singers who can do that both at the same time, I find it fitting. It adds something natural to a melody.
2006-08-06 11:17
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: By using unsilent firstwave you're firmly in unsupported territory. Get clever with the wavetable or creating alternate versions of instruments for any trouble spots.

This solution isn't really satisfying. :_(
2006-08-06 11:20
Hein

Registered: Apr 2004
Posts: 933
Quote: This solution isn't really satisfying. :_(

Reminds me of that song by The Rolling Stones.
2006-08-06 17:28
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm :-I
2006-08-07 11:43
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Yo!

about 1stwave:
That /G command line option is quite funny. *LOL*
Only things can be entered "that makes sense" :P

Why there is a cmd-line option for this & shift+U not? (hehe, again shift+U)
I always forget to activate it manually. Hmmm!

However, the point is that a fully functional 1stwaveform is very important for an advanced editor.

--- (gate-off)
2006-08-07 14:28
cadaver

Registered: Feb 2002
Posts: 1153
If I remember correctly, the /G switch was specifically implemented to piss you off, so that's why. And btw. GT1 or 2 have never aspired to be "advanced" editors (more like "compromise"), so? Maybe you can start another thread about the featureset of an advanced editor, to not clutter this one.
2006-08-07 16:44
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: If I remember correctly, the /G switch was specifically implemented to piss you off, so that's why. And btw. GT1 or 2 have never aspired to be "advanced" editors (more like "compromise"), so? Maybe you can start another thread about the featureset of an advanced editor, to not clutter this one.

Hi!

.... and what I forgot ...

What do you think about a "don't show zeros" function? (a cmd-line option)
Please look at the following picture (no, it isn't rapidshare) :)

http://img272.imageshack.us/my.php?image=zeroed1.jpg

... but now I'm OFF for real... ;)

2006-08-08 15:30
cadaver

Registered: Feb 2002
Posts: 1153
v2.51 out. Fixes a long time irritating out-of-sync error when using different gatetimer in different instruments on the same channel. As a bonus, it became available that by setting high bit ($80) of gatetimer wave/pulse exec starts right on the note initframe, ignoring the 1st wave parameter, but watch the rastertime grow :)

The tweak utility was also updated.
2006-08-08 18:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

Nice update! Thank you very much!
Then, a "don't show zeros" function wasn't a good idea?
2006-08-08 19:16
CreaMD

Registered: Dec 2001
Posts: 3035
Nata is a real pain in the ass but until he has a positive influence on Cadaver's motivation to make updates of his "jewel of a software" *we* can let him alive...

....harharhah ha haaaa.....ar cough cough cough... cough.. hrmpfz...



2006-08-08 19:27
cadaver

Registered: Feb 2002
Posts: 1153
CreaMD: it's however interesting that anyone didn't really complain of the gatetimer-"bug" during over 1 year of GT2's existence, so it was largely selfmotivated.
2006-08-09 07:42
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Then, for legato I still have to create 2 instruments?

F.ex. If I would like to start my note with waveform 11 from frame 0 I have to set for GATEOFF TIMER: '82', then write a '91' to HardRes/1stwave and afterwards the wavetable? Is '91' necessary?
Isn't it possible to set the GATEOFF TIMER to '80' = no gateoff?

Anyway, didn't discovered yet how exactly this new feature (in GT2) works.
Up till now I always have used the other way that caused pitch-bugs....

Maybe you could explain how to convert the following instrument to the new "system".

F.ex:

ADSR: 0089
Gateoff timer: 02
HardRes/1stWave: B1
Wavetable:
81 DF
31 00
30 00
FF 00

That *new* high bit seems not to work like $91,A1,B1,C1,... waveforms in 1stWave. I get only buggy sound, but the pitch errors are disappeared. But, it doesn't sound as smooth as before. (Please check the example song I've send you last week)

Anyway, what do I wrong?
2006-08-09 07:53
cadaver

Registered: Feb 2002
Posts: 1153
Add one wavetable row.

You still can use firstwave 00 for legato. Gateoff timer's value still determines on which tick to get new notes, so it obviously can't have value 0.
2006-08-09 08:06
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Doesn't help. It sounds different than before.
2006-08-09 08:13
cadaver

Registered: Feb 2002
Posts: 1153
Then, I guess retaining the last note's last pitch was an important part of the sound. But in any case I'm satisfied that the feature added was not really satisfying to you :)
2006-08-09 08:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Then, I guess retaining the last note's last pitch was an important part of the sound. But in any case I'm satisfied that the feature added was not really satisfying to you :)

:-/

Anyway, audible waveforms on frame 0 are quite a nice feature, which is very useful. :)
2006-08-10 11:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Other day, other problems... :)

It's interesting to see that vibrato-delay always resets on new notes, even if I use 3xy cmds.
Isn't that illogical? Shouldn't it start/continue after the slide/glide is finished (no delay)?

Example1:
Instrument 1+2 has delayed the vibrato for $D frames

c-4 01F06 ; start instrument/songspeed 6
... 00000
... 00000 ; ins. vibrato starts here
... 00000
... 00000
c-4 02000 ; legato instrument
... 00000
e-4 02301 ; portamento
... 00000
... 00000 ; ins. vibrato starts here :/

How can I start the vibrato after the 3xy cmd?
I've tried to do it with 4xy cmds (or with a different instrument that has no delay), but then the whole vibrato-speed goes out of sync. This doesn't sound good at all.


Example2:

+ ; vibrato from instrument
+
+
+
-
-
-
-
+
+
+
+
-
- ; instr. vib. cuts ...
+ ; 4xy cmd overwrites the old parameter
+
+


---

Btw. Why the GT2 zip contains now a freeze.c64 file?
2006-08-10 12:41
cadaver

Registered: Feb 2002
Posts: 1153
The vibrato delay is supposed to emulate a classical singer's training, so it happens regardless whether the note is slided into or not.

Continue toneportamento (3xy) as long as necessary, then go directly into a 4xy command (leave no 000's inbetween). I didn't have any problems with this when I tested, your mileage may vary.

Reason for freeze.c64's: http://www.lemon64.com/forum/viewtopic.php?t=20652
2006-08-10 17:31
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: The vibrato delay is supposed to emulate a classical singer's training, so it happens regardless whether the note is slided into or not.

Continue toneportamento (3xy) as long as necessary, then go directly into a 4xy command (leave no 000's inbetween). I didn't have any problems with this when I tested, your mileage may vary.

Reason for freeze.c64's: http://www.lemon64.com/forum/viewtopic.php?t=20652


Ahaaa! It trys emulate a classical singer's training ... :)
It sounds to me like player intelligence. :D

But anyway. ;)
2006-08-11 17:50
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Now, seriously,...

... after some experiments I think the combination instrument-vibrato + 4xy cmd has only a minimal influence ...

... but It seems that there is a kind of accuracy problem when using 3xy cmd's.

Example problem:
I wrote a nice melody line in some DUR.Editor and wanted to port it to GT2.
Whatever I try, the portamentos doesn't sound as lively as in the original.

dur.04
F-4
gld.1f
g-4
gld.1f
d-4
End.

The only thing that works is to copy the whole sequence from siddump directly to a GT wavetable. :(
2006-08-12 09:24
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hello?
2006-08-12 10:25
dalezy

Registered: Apr 2002
Posts: 475
Quote: Hello?

Hello there!
2006-08-12 14:40
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Now, seriously,...

... after some experiments I think the combination instrument-vibrato + 4xy cmd has only a minimal influence ...

... but It seems that there is a kind of accuracy problem when using 3xy cmd's.

Example problem:
I wrote a nice melody line in some DUR.Editor and wanted to port it to GT2.
Whatever I try, the portamentos doesn't sound as lively as in the original.

dur.04
F-4
gld.1f
g-4
gld.1f
d-4
End.

The only thing that works is to copy the whole sequence from siddump directly to a GT wavetable. :(


Cadaver?

Why it sounds different?
2006-08-12 14:47
cadaver

Registered: Feb 2002
Posts: 1153
How should I know? Siddump knows much better.

Some ideas: use fast tempo to control effects at higher resolution, switch optimizations off.
2006-08-12 14:51
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: How should I know? Siddump knows much better.

Some ideas: use fast tempo to control effects at higher resolution, switch optimizations off.


Because there is a difference between gld-cmds & 3xy ?
Btw. optimization is always OFF :)
2006-08-12 15:06
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: How should I know? Siddump knows much better.

Some ideas: use fast tempo to control effects at higher resolution, switch optimizations off.


What exactly do you mean? Change the song tempo? How get I activated that high resolution mode?
2006-08-12 15:09
cadaver

Registered: Feb 2002
Posts: 1153
For example if you have tempo 6, use tempo 3 and expand the pattern. I don't recommend going below 3 though..

But anyway, it's quite pointless using vague terms such as "lively" and asking here about how effects work or should work on detail-level. I don't think there's a standard how a "glide" command should be implemented, much more useful is to analyze exactly how the frequency changes, then try to reproduce that in GT2.
2006-08-12 15:16
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: For example if you have tempo 6, use tempo 3 and expand the pattern. I don't recommend going below 3 though..

But anyway, it's quite pointless using vague terms such as "lively" and asking here about how effects work or should work on detail-level. I don't think there's a standard how a "glide" command should be implemented, much more useful is to analyze exactly how the frequency changes, then try to reproduce that in GT2.


And if my example song is speed 4 ?

Well, I have analyzed, but whatever I do it doesn't sound as good as in the dur. player.
Actually, I don't know where the difference is, but it seems there is one.

Maybe it would be interesting to know what a "gld.1f" exactly writes to the player.
2006-08-12 15:35
cadaver

Registered: Feb 2002
Posts: 1153
If you don't know what the gld.1f does (what speed it actually uses, and how soon it starts), you can't really say you've "analyzed" anything.

Tempo 4 -> no luck if you need more resolution.

I assume you do know the very old trick of using a 1xy or 2xy command together with the first note, before you state the target note and do 3xy?
2006-08-12 16:54
Hein

Registered: Apr 2004
Posts: 933
darn, he's good!
2006-08-12 20:15
Turtle
Account closed

Registered: Jan 2002
Posts: 70
Quote: darn, he's good!

Ah, com'on!!
2006-08-13 09:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: If you don't know what the gld.1f does (what speed it actually uses, and how soon it starts), you can't really say you've "analyzed" anything.

Tempo 4 -> no luck if you need more resolution.

I assume you do know the very old trick of using a 1xy or 2xy command together with the first note, before you state the target note and do 3xy?


Sure I do know that trick...

The problem with gld.1f is that siddump doesn't show a nice speed value. (f.ex +00 30)

Sooner or later I will find out the correct value... :)
2006-08-13 10:23
cadaver

Registered: Feb 2002
Posts: 1153
The speed won't be shown if the slide is so fast that it crosses into another note each frame. But you can calculate it from the absolute frequency values shown in the left column. Refusing to do that is just lameness :)
2006-08-13 12:20
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Original from dur.player

24E1 C#5 BD 41 0050
.... ... .. ..
.... ... .. 21
.... ... ..
---------------
.... ... ..
.... ... ..
.... ... ..
.... ... ..
---------------
.... ... ..
.... ... ..
2761 (D-5 BE)
2965 (D#5 BF) ; destination note
---------------
29C5 (+ 0060)
2A25 (+ 0060)
29C5 (- 0060)
2965 (- 0060)
---------------
.... ... ..
26E5 (D-5 BE)
2465 (C#5 BD)
21E5 (C-5 BC)
---------------
1F65 (A#4 BA) ; destination note
1F03 (- 0062)
1EA3 (- 0060)
1E43 (- 0060)
---------------
1EA3 (+ 0060)
1F03 (+ 0060)
1F63 (+ 0060)
1FC3 (+ 0060)
---------------
1F63 (- 0060)
1F03 (- 0060)
1EA3 (- 0060)
1E43 (- 0060)

Anyway, now I found some suitable values. :)

---

Btw.
What do you think about a key that allows to start the song from any place in a pattern?
The cursor could tell the current start position.

Btw2
A 'don't show zero's' option (for patterns) would be quite comfortable. So, what do you think about?
2006-08-13 12:34
cadaver

Registered: Feb 2002
Posts: 1153
Yeah people, get commenting! (I have nothing to comment.)
2006-08-13 12:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Yeah people, get commenting! (I have nothing to comment.)

Hmm? Why? What's wrong?
2006-08-13 12:41
Hein

Registered: Apr 2004
Posts: 933
"Btw.
What do you think about a key that allows to start the song from any place in a pattern?
The cursor could tell the current start position. "

Thats a good idea...
2006-08-13 16:29
cadaver

Registered: Feb 2002
Posts: 1153
v2.52
- SHIFT+ENTER in orderlist view takes the next available pattern if pressed on a repeat or transpose command.
- Added SHIFT+SPACE to start playback on a specific pattern row.
2006-08-14 08:15
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: v2.52
- SHIFT+ENTER in orderlist view takes the next available pattern if pressed on a repeat or transpose command.
- Added SHIFT+SPACE to start playback on a specific pattern row.


Ah, nice! Thank you! :)
2006-08-14 08:53
chatGPZ

Registered: Dec 2001
Posts: 11118
beeing able to loop any range of patterns in the orderlist would be nice....or can you already do that?
2006-08-14 10:49
cadaver

Registered: Feb 2002
Posts: 1153
You can jump from the end to any position, but you can't create loops in the middle. The latter has been discussed and at least I have found it too disgusting to implement; one would have to sacrifice something for it, since there are no unused bytes in orderlist data (amount of patterns? transpose range? repeat range?)
2006-08-14 13:57
chatGPZ

Registered: Dec 2001
Posts: 11118
uhm i am not talking about orderlist commands for actual use in the tune, but something that only works in the editor... its kindof annoying when you are working on some patterns in the middle of a tune and have to hit f3 all the time again and again to check them out while playing with instrument data for example. could be easily implemented as a counter that is initialized when tune is started at start position, then counts down and when it underflows it loops. and yes that would only work if patterns in all voices have the same length, but thats not much of a problem imho.

another thing that would be nice would being able to play the pattern under the the cursor in the orderlist, without having to move the song-start marker there.
2006-08-14 15:01
cadaver

Registered: Feb 2002
Posts: 1153
v2.53
- Fixed F3 to always play the currently visible patterns.
- Added BACKSPACE in the orderlist editor to set playback end position.
Only effective when starting playback from position, not beginning.

(note: use SHIFT+BACKSPACE to set/unset endmark on all channels, if patterns have same length. Otherwise set separately per channel)

Now just don't start thinking you can get the digichannel, it's only in the innercircle special edition, and these guys don't hesitate to kill :)
2006-08-14 15:06
chatGPZ

Registered: Dec 2001
Posts: 11118
no worries, i have my own sample player and i can live with tracking them seperatly :=D
2006-08-14 16:48
Bamu®
Account closed

Registered: May 2005
Posts: 1332
... the 5 years GT special "gold" edition... :]

@Groepaz
I guess your digi-player is controlled *only* by monitor/source ? :D
Btw. IMHO your "Tracker Preview" from '98 looks quite nice. :)
2006-08-15 07:22
chatGPZ

Registered: Dec 2001
Posts: 11118
Quote:
I guess your digi-player is controlled *only* by monitor/source ? :D


yes ofcourse, since i want to use it in my next demo it must be specifically tweaked for whatever i want to use it for anyway... and tracking some percussions in source isnt *that* annoying either :)

Quote:
Btw. IMHO your "Tracker Preview" from '98 looks quite nice. :)


hehe you would probably think different if you knew how simple (and naive) the actual player is :o) it hardly can do anything you would expect from a modern player these days :=P
2006-08-15 08:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: v2.53
- Fixed F3 to always play the currently visible patterns.
- Added BACKSPACE in the orderlist editor to set playback end position.
Only effective when starting playback from position, not beginning.

(note: use SHIFT+BACKSPACE to set/unset endmark on all channels, if patterns have same length. Otherwise set separately per channel)

Now just don't start thinking you can get the digichannel, it's only in the innercircle special edition, and these guys don't hesitate to kill :)


cadaver wrote:
"Fixed F3 to always play the currently visible patterns."

Hmm,

should I understand that??
IMHO the old system was really OK, but now it totally sucks.
It makes no sense, is completely confusing & uncomfortable. (sorry for the harsh words)

I usually load a song, then press SHIFT+,. (Move song startposition) and press F3 (or SHIFT+F3 to make the current patterns visible). This doesn't works anymore. (Now, the red cursor always remains at pos. 00.) :-I

Let's hope you won't get too many hate-mails for this questionable 'feature'. :D

However, rest of the new stuff works pretty fine. (as usual)

------

About the optimzation feature (playroutine):

Usually it isn't a good idea to set it to "NO", since introduces some decent timing-bugs (or something between) if the song is more complex. (buffered sid writes doesn't help)
I don't know why this happens, but it is there. :)

------

What if someone would like to include a more longer author info in the module?
Would it possible to enhance it? (A theoretical question)
2006-08-15 09:26
dalezy

Registered: Apr 2002
Posts: 475
Quote:
IMHO the old system was really OK, but now it totally sucks.
It makes no sense, is completely confusing & uncomfortable. (sorry for the harsh words)


pearls before swines[tm] eh?
cadaver, i have still no idea why you do all that when it results in nata being a prick about anything that doesn't fit his likings.

(and yes, i'm still bitter because i never got my requested volume-effect in 2001!)
2006-08-15 09:43
cadaver

Registered: Feb 2002
Posts: 1153
I think nata grossly exaggerates the fanaticism of rest of GT2 users, for we all know only he is fanatic about it. Furthermore he's overly confident that his opinion of subjective matters is shared by said imaginary fanatic user group :)

However, I guess the real problem is that the rewind function didn't update the pattern view. By downloading v2.54, this is remedied.

As musicroutine authors can tell, sometimes even the small difference in the code (and thus in timing) can cause ADSR bugs appear after packing/relocating. That's why for example SidWinder uses exactly same playroutine & data in both the editor & final song, but that makes for some uncomfort in editing. And I get the feeling this has already been mentioned many times before...
2006-08-15 11:47
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Thanks! Now it works VERY well! :)
2006-08-15 18:10
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@beers for fears

To solace you: I don't get every feature I request. (just check other posts in this thread, and you will see my crazy thoughts) :D
And I'm sure I never will get a cmd option for Shift+U.

---

@cadaver

Somehow the problem still exists. IMHO it makes more problems than it should.

F.ex You start a song with F1 or F2. Move the cursor to some postion, press shift+space and afterward F3. What happens? The cursor is at some position in the song, but plays position 1 (because it is visible). If this isn't confusing... :D :I :(

Anyway, WE have to learn to live with it....

---

May I ask why filter slides sounds quite bad if I combine different slide speeds?
It sounds bad if I change the speed or time. (Usually there is a staircase effect)
2006-08-15 19:08
cadaver

Registered: Feb 2002
Posts: 1153
I'd say that earlier the pattern-play was incorrectly implemented, because it was not possible to play patterns not yet in the orderlist. Now, when pattern-play is active, it's not really anywhere "in" the song, it just plays the patterns visible in the edit screen. But it seems you have become too accustomed to the side-effects of the former implementation.

And, whether or not you get each feature you request doesn't change the fact that each time you behave like an ass, you still make yourself a fool even if you don't realize it yourself. My very good virtual friend put it nicely when he said that previously you acted like a "friendly lamer" but since then you have adopted more hostile & confrontational behaviour (not just this thread, but many others). Well I can tell you, it doesn't help you in the least, on the contrary. It's actually pretty sad to see someone getting so worked up & obsessed about an open source piece of software, as well as c64 musiceditors / playroutines in general. For example from the infamous hardrestart thread one almost got the picture that each musiceditor-author owes you "good" HR, even if they quit the scene 10 years ago :) Furthermore it's quite alarming that whenever you say you will shut up or are "satisfied", next week (or day) you're back with more. You could just quit saying that.

But anyway, for your "solace" you can be assured that any of your requests or ramblings that don't seem to have any sense or benefit for other GT2 users will not be thought of much or at all.
2006-08-16 11:55
Bamu®
Account closed

Registered: May 2005
Posts: 1332
about F3:

Boahhh, the old way was wrongly implemented for -> 5 long years <- and NOBODY complaint about it? Maybe because it worked very well? Hmmm? :)

---

Now seriously, EACH time I behave like an ass? Could you explain that?
Your statement was very interesting, but it doesn't bother me if get a fool.

---

about requests & ramblings that make no sense:

Now you really should explain what everything makes no sense.
And why (f.ex) it should be wrong (or make no sense) to include a key that allows to use limit-based programming of filters/pulses in pattern-editor??
2006-08-16 12:10
cadaver

Registered: Feb 2002
Posts: 1153
You probably misunderstood / misparsed. Here's the relevant phrase for you again:

Each time you behave like an ass, you make yourself a fool, even if you don't realize it yourself.

So I was not saying that each time you request something you behave like an ass. Only sometimes :)
2006-08-16 12:16
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Aha!
2006-08-19 08:58
Bamu®
Account closed

Registered: May 2005
Posts: 1332
What do you think about a key that allows to enter notes in wavetable like in pattern-editor? (will be converted automagically to relative hex values)
IMHO this would be very comfortable (+ easier & faster) when creating more complex tables (especially arpeggios and melody lines)

My other idea is a key that allows to take a marked area in pattern-editor and convert it into a wavetable. This would be very, very flexible.
2006-08-19 10:37
chatGPZ

Registered: Dec 2001
Posts: 11118
that doesnt make a lot of sense imho.... afterall the wavetable is (most of the times) about using intervals, and not absolute notes.

right now i could use a pattern command to delay notes any number of frames so i dont have to abuse the wavetable for that. but i'm just lazy, ignore me :=D
2006-08-19 11:03
cadaver

Registered: Feb 2002
Posts: 1153
@Groepaz: the standard answer has to be used here: there are already the maximum of pattern commands, so one would have to be sacrificed. Plus I'm sure it would make a mess of the playroutine. If you can handle it otherwise (no need for other commands at the same time), IMO best way is to simply adjust the channel tempo for this.
2006-08-19 11:07
chatGPZ

Registered: Dec 2001
Posts: 11118
yes i know, just kidding :) infact, i dont use any pattern commands right now at all, pretty much everything i need can be done simply by tweaking the instruments :)
2006-08-20 07:57
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: that doesnt make a lot of sense imho.... afterall the wavetable is (most of the times) about using intervals, and not absolute notes.

right now i could use a pattern command to delay notes any number of frames so i dont have to abuse the wavetable for that. but i'm just lazy, ignore me :=D


@Groepaz
Doesn't make a lot of sense??? Tsssss... F3 makes NO sense.
I really can't understand why nobody complains. (guess, the most people aren't up-to-date)
Anyway, I think I have to declare "F3" as looserish. :P
2006-08-20 09:19
JackAsser

Registered: Jun 2002
Posts: 1989
@cadaver: I have two questions about GT2.x.

1) How do I wait for a tune to finish?
2) How can I set start track/pattern/whatever?

Please give me referenses into some player source of yours, not into the binary code because I'm using a rather modified version of your player so I have to apply the "patches" into my own source later on.

/JackAsser
2006-08-20 09:31
cadaver

Registered: Feb 2002
Posts: 1153
@JackAsser:

1) See when each channel's mt_chnsongptr resets to zero or to the loop repeat value. Or hook the sequencer jump routine ("lda (mt_temp1),y ; cmp #LOOPSONG ; ...")

2) To play from song position: set mt_chnsongptr to desired position, set mt_chnpattptr to 0 to force sequencer fetch. Preferable time to do this is when mt_chncounter has the value 1 (just before sequencer execution)

To play certain pattern: set mt_chnpattnum to the pattern number you want, and mt_chnpattptr to 0. Preferable time to do this is when mt_chncounter has the value 0 (just after sequencer execution)
2006-08-20 09:43
JackAsser

Registered: Jun 2002
Posts: 1989
@cadaver:

As for waiting for the tune to complete/loop, do you mean something like:

finishMusic:
lda mt_chnsongptr+0
and mt_chnsongptr+14
and mt_chnsongptr+28
cmp #$ff
bne finishMusic

I mean, would that detect the case correctly?
2006-08-20 09:51
cadaver

Registered: Feb 2002
Posts: 1153
Hmm, mt_chnsongptr never actually gets the value $ff, so rather:

lda #tune
jsr $1000

wait1:
lda mt_chnsongptr
ora mt_chnsongptr+7
ora mt_chnsongptr+14
beq wait1

wait2:
lda mt_chnsongptr
ora mt_chnsongptr+7
ora mt_chnsongptr+14
bne wait2

finished:

But this seems a bit bad, as you first must wait for the false positive condition (first pattern the first time) to go away. Maybe it's indeed better to hook the songloop routine in some way.
2006-08-20 09:58
JackAsser

Registered: Jun 2002
Posts: 1989
@cadaver: Hmm yes, indeed that would be the nicest. However, this particular tune I'm using seems to reset the chnsongptr to #$02, so this simple check worked:

finishMusic:
lda $0fbd+0
ora $0fbd+7
ora $0fbd+14
cmp #$02
bne finishMusic

2006-08-20 11:59
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@JackAsser

What do you have customized on GT?
2006-08-20 13:33
Hein

Registered: Apr 2004
Posts: 933
Quote: @Groepaz
Doesn't make a lot of sense??? Tsssss... F3 makes NO sense.
I really can't understand why nobody complains. (guess, the most people aren't up-to-date)
Anyway, I think I have to declare "F3" as looserish. :P


The number of times I hit F3 is quite high. No reason to complain about it I guess. Then again, I spend a lot of time adding sensitivity (read 'live performance feeling') to my music, so it's necessary to check if the result is pleasing.
2006-08-20 13:33
JackAsser

Registered: Jun 2002
Posts: 1989
@nata: Uhm, the register writes for 4x-speed. It stores all registers on stack so that I can POKE them interleaved in my raster code. Kinda like the ghost-player, but it stores all 4 runs.
2006-08-21 06:58
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: @nata: Uhm, the register writes for 4x-speed. It stores all registers on stack so that I can POKE them interleaved in my raster code. Kinda like the ghost-player, but it stores all 4 runs.

@jackasser
Thanks for the info!

@cadaver
good bye!
2006-08-21 07:39
CreaMD

Registered: Dec 2001
Posts: 3035
Bye Nata. Your music will be missed. Your personality - not. Live long and prosper.
2006-08-21 09:37
Raf

Registered: Nov 2003
Posts: 343
@Cadaver : I'd like to have a small request - can you add backspace key in file selectors as "go to parent dir" ? ;-)

2006-08-21 13:13
cadaver

Registered: Feb 2002
Posts: 1153
That is certainly doable (already done now). An easy way to increment the versionnumber :)
2006-08-21 13:20
chatGPZ

Registered: Dec 2001
Posts: 11118
btw, would it be a lot of hazzle to add a remapping feature for the keyboard? for once, QWERTZ vs QWERTY is kindof a problem, and then i have used GT on my powerbook on a party recently and the lack of pc-like insert/delete keys was pretty annyoing there (i had to solve it by mapping some other keys in X windows, which in turn made those keys unavailable :/). using the remapping feature of the OS isnt really a good solution here i think, i could live with it if it was only about the swapped Y/Z, but on the powerbook its a real problem that cant be solved easily (or atleast not without a fucked up hack).
2006-08-21 13:24
cadaver

Registered: Feb 2002
Posts: 1153
Yes, it certainly would be a hassle. The problem is that GT reads keyboard in different ways for different purposes (ascii, rawkey etc.) and furthermore it all goes first through the SDL library. It's best left for someone who knows what he's doing, I don't, but patches will be well received :)
2006-08-21 13:39
chatGPZ

Registered: Dec 2001
Posts: 11118
mmmmmmh....didnt SDL have a remapping feature? *shrug*

anyway, you'll add a mapping thingy if i write a wrapper for the SDL calls? (sounds like the easiest solution atleast).
2006-08-21 13:41
cadaver

Registered: Feb 2002
Posts: 1153
Hmm... I'll look if SDL has something like that, but no promises
2006-08-21 13:53
chatGPZ

Registered: Dec 2001
Posts: 11118
i might look into it too....but obviously you are a lot more familiar with your code (i'm not even really familiar with SDL) so its probably easier for you to have a look first :=)
2006-08-31 17:59
Jammer

Registered: Nov 2002
Posts: 1289
whoa! i have no energy to search all the 8 hundreds posts so i'll list some suggestions quickly ;)

- paste works also after pressing the very 'v' and that can be really annoying if i intend to press 'b' :D
- transparent mode of pasting would be helpful - empty steps from the clipboard don't overwrite destination pattern (quick way of doing echo for example :)
- i know that's the fault of new resid but somebody could fix it. try to make bassline with long attack/release and set its filter to lowpass with minimum or even $03 cutoff, eh eh :) the same effect when playing it with winamp's sidplay 2; not sure about vice.
2006-10-20 16:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@cadaver

Have you ever thought to create a free VSTi version from the instrument editor of GT2? (Hope, that it is allowed to ask since I'm a interested forum-user) :)

Anyway, another stupid idea from an former scener. :I
2006-10-20 20:46
Raf

Registered: Nov 2003
Posts: 343
Quote: @cadaver

Have you ever thought to create a free VSTi version from the instrument editor of GT2? (Hope, that it is allowed to ask since I'm a interested forum-user) :)

Anyway, another stupid idea from an former scener. :I


why not use quadrasid? it allows more precise control over sound than real sid...
2006-10-21 09:25
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm. QuadraSID istn't really amazing + it isn't free.
I've tried to do drums with sexy note-init, but it sounds not perfect.
It would be interesting to see a VST insrument that is more traditional.
However, the most negative point is the inaccurate 8580 emulation. :_(
2006-10-21 09:49
Laxity

Registered: Aug 2005
Posts: 459
If a VSTi were to be made from the Goat engine, it would probably be very hard to make it latency free since the SID emulation would have to rely on some sort of gate off periode before gate on. At least if hard restart is desired!.
2006-10-21 09:52
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: If a VSTi were to be made from the Goat engine, it would probably be very hard to make it latency free since the SID emulation would have to rely on some sort of gate off periode before gate on. At least if hard restart is desired!.

I have expected that it could come to such problems.
(Of course, hard restart is desired) :)
2006-10-21 09:57
Laxity

Registered: Aug 2005
Posts: 459
Yes, I had the notion that you were in favor of that :)

It would still be interesting even though there would be the delay, but significantly harder to work with than other plugs.
2006-10-21 10:18
Soren

Registered: Dec 2001
Posts: 547
hard restart is overrated... I don't use that so much anymore :-)
2006-10-21 10:31
Laxity

Registered: Aug 2005
Posts: 459
Oh, go fart some place else. ;)
2006-10-21 10:59
Soren

Registered: Dec 2001
Posts: 547
ok.... /me leaves so he doesn't disturb the master anymore... *FART*
2006-10-21 12:49
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: hard restart is overrated... I don't use that so much anymore :-)

Aha! Overrated?
(Of course, it's suggested to use HR only if required) :)
2006-10-21 14:06
tlr

Registered: Sep 2003
Posts: 1714
Quote: If a VSTi were to be made from the Goat engine, it would probably be very hard to make it latency free since the SID emulation would have to rely on some sort of gate off periode before gate on. At least if hard restart is desired!.

This would be a problem for realtime play.
For sequencer play back the VST standard supports specifying the latency, so the note could be handed in a long time in advance.

You could make a version of goattracker that is insertable as VSTi, and that slaves to the sequencer.
One boring issue is that the VST sdk is not released under an Open Source compatible license so you'll have to deal with that!


2006-10-27 16:54
Raf

Registered: Nov 2003
Posts: 343
another request ;-) Cadaver , is this easily applicable to change sid driving frequency to something else than 0.98/1.02 Mhz? I mean 264 series' SIDCARD runs sid @ 0.88 MHz (PAL) , haven't checked the NTSC one - and this target machine is in my interest just now :)
2006-10-27 17:19
Bamu®
Account closed

Registered: May 2005
Posts: 1332
... and don't forget to include 'automation' :-D ;-)
2006-10-27 17:56
cadaver

Registered: Feb 2002
Posts: 1153
Quote: another request ;-) Cadaver , is this easily applicable to change sid driving frequency to something else than 0.98/1.02 Mhz? I mean 264 series' SIDCARD runs sid @ 0.88 MHz (PAL) , haven't checked the NTSC one - and this target machine is in my interest just now :)

Check V2.56 and /F option (clock frequency as cycles per second). Whether reSID actually was supposed to support this kind of operation is open to guessing, but at least the sound appears pitched.
2006-10-27 18:00
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Aha! What happens if I overclock CPU too much? (Not that I still would be interested in GT.) ;) :D
2006-10-27 18:07
cadaver

Registered: Feb 2002
Posts: 1153
A script is triggered to randomly hack a CSDB account, login, and downvote you.
2006-10-27 18:12
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: A script is triggered to randomly hack a CSDB account, login, and downvote you.

Aha! And who cares? ;)
2006-10-27 18:13
Raf

Registered: Nov 2003
Posts: 343
thanks :)

and.. surpringly... I googled this:

http://en.wikipedia.org/wiki/GoatTracker
2006-10-27 18:15
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: thanks :)

and.. surpringly... I googled this:

http://en.wikipedia.org/wiki/GoatTracker


Too bad, it's extremely outdated.

"this article provides insufficient context"... *LOL*
2006-10-27 23:34
T.M.R
Account closed

Registered: Dec 2001
Posts: 749
Quote: Check V2.56 and /F option (clock frequency as cycles per second). Whether reSID actually was supposed to support this kind of operation is open to guessing, but at least the sound appears pitched.

How about TED sound support...? [evil grin =-]
2006-10-28 11:31
Raf

Registered: Nov 2003
Posts: 343
@TMR: use SID emulation on TED instead ;p
2006-10-28 11:43
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Would it be a problem to boost the SID resonance. (8580 emulation)? Or a little option for manual configuration?
2006-10-28 14:45
T.M.R
Account closed

Registered: Dec 2001
Posts: 749
Quote: @TMR: use SID emulation on TED instead ;p

Nah, that's just cheating... check all the Cosine C16 and Plus/4 releases, all TED sound.
2006-10-28 16:14
Raf

Registered: Nov 2003
Posts: 343
Quote: Nah, that's just cheating... check all the Cosine C16 and Plus/4 releases, all TED sound.

I checked a few in the past... some games by others playing sound on TED too, and IMO unfortunately they sound not too nice... more alike atari anyway.. and older (pre cca 1990) bad tunes sounds just like having two pc speakers - with 2 channels , normally pulse + only one can be set to be used as noise you can't track many outstanding tunes anyway I think... however certainly there are low-tech music fans out of here too :)
2006-11-19 17:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@cadaver

What do you think about a GT2 that contains Mono/Stereo in ONE version?
Please look at the following picture (it's an animated GIF)

http://img55.imageshack.us/img55/9788/stereovh1.gif

With a cmd-line option the stereo mode could be activated.

My idea is that some command allows to duplicate every pattern/instument + tables (as long there is enough memory) from the first 3 channels to completely new one. (Because you need slightly different instruments to make the stereo-effect)

So it would be quite easy to create stereo sound... :)
2006-11-19 18:29
Raf

Registered: Nov 2003
Posts: 343
Nah , go on , let's make quadro-sid version instead of two sid ;-)

------------------------------------
www.vulture.c64.org
2006-11-20 11:10
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@cadaver

I would be glad to hear your opinion. :)

Thanks!
2006-11-25 09:43
Bamu®
Account closed

Registered: May 2005
Posts: 1332
.
2006-12-10 17:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Does anybody knows why GT2 wont't start from a windows live cd (build with BartPe)?

Need Help. :)
2006-12-10 20:10
Stainless Steel

Registered: Mar 2003
Posts: 966
Might be that it wants to write to some file. Check it with Filemon from sysinternals.

2006-12-10 22:31
Raf

Registered: Nov 2003
Posts: 343
or check that in source code ;-)

you may also try to make an ramdisk in that window$ (of course with additinal software coz m$ provided ramdisk only for pure dos last time (Well.. actually it may work with 9x too but this makes system unstable in many cases)) and run GT from ramdisk instead of direct run from CD.

www.vulture.c64.org
2006-12-12 10:07
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm, I'm not sure how this ramdisk stuff works, but it doesn't work.
The GT2 window appears, but it's content remains black. :((((((((
2006-12-12 10:25
dalezy

Registered: Apr 2002
Posts: 475
<nelson>HA-HA</nelson>
2006-12-13 13:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: <nelson>HA-HA</nelson>

@dalezy

earth2dalezy.exe
2006-12-13 23:01
dalezy

Registered: Apr 2002
Posts: 475
Quote: @dalezy

earth2dalezy.exe


not earth2dalezy.exe, please! :( :( :(
2006-12-14 13:26
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw. I noticed again many ADSR Bugs. Not even buffered SID writes helps or changing the instrument. :_(
Isn't it possible to increase buffer size? (manually)
2006-12-14 15:43
cadaver

Registered: Feb 2002
Posts: 1153
Haven't you quitted and stopped using GT? Anyway, read up on the alternative methods of HR in the HVSC-collection article and modify the player :) I tested it (the method where high *attack* parameter is used to make sure the delay-bug happens always) but I wasn't sure that the decays stayed as they should, so can't use that officially.
2006-12-15 10:36
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well, I have the problem in 25Hz mode.

http://www.rogepost.com/n/0381032951

(hehe, this time NO rapdishare)
2006-12-16 11:57
Bamu®
Account closed

Registered: May 2005
Posts: 1332
So, there isn't any solution to fix ADSR Bugs in 25Hz mode?
(seriously, many times it doesn't help to make "safe" instruments)

It's always the same. Inside GT2 there are no bugs, but if packed ....
I've tried to fix them (even buffered writes doesn't help), but there was absolutely no way.

IMHO people should reconsider there attitude about the 25hz mode. It's possible to create HI-FI instruments with it. :)
2006-12-16 15:47
Laxity

Registered: Aug 2005
Posts: 459
I'm speechless...
2006-12-16 15:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: I'm speechless...

May I ask why?
2006-12-16 20:34
Laxity

Registered: Aug 2005
Posts: 459
Who has got an attitude?.. You seem to think this is somthing we all have in common about this 25hz thing.. Why?
2006-12-16 21:22
cadaver

Registered: Feb 2002
Posts: 1153
Added an experimental, alternative SID-writeorder player to V2.57, which is activated by setting full attack in the hardrestart parameter (like F800 or FF00). This may be more reliable against ADSR bugs. Or maybe not. And as I said, the character of the envelope may also change.
2006-12-17 09:51
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Thank you Cadaver. You are the best! :)

@Laxity
Erm... sorry, my fault. :)

2006-12-17 13:04
Bamu®
Account closed

Registered: May 2005
Posts: 1332
It seems that it doesn't help.
If I use f.ex FF00 then the following happens:

http://www.rogepost.com/n/7453839690

If I use buffered writes the music sounds (the envelope) ok, but the ADSR bugs are still there.
2006-12-18 18:35
Bamu®
Account closed

Registered: May 2005
Posts: 1332
... but anyway, it's no problem if if the ADSR bugs cannot be removed.
I only wanted to find out if it is possible to create HIFI sounds with the 25Hz mode. :)

2006-12-18 22:53
ChristopherJam

Registered: Aug 2004
Posts: 1378
Firstly, stupid question: What is a HIFI sound?

Second stupid question: could you not avoid ADSR bugs in 25Hz mode by having the first tick of each instrument ungated with a release of zero? Sure it would delay all notes by 40ms, but there's enough time there to allow the rate_counter to be recaptured, so at least there would be no jitter, and the rest of the note would be 'sexy' (yes that's really what it's called :-P)

btw - I tested my theory about any release less than the following attack being sufficient to avoid the bug, and it works :) But cadaver is right - it is much simpler to just use a release of zero.
2006-12-19 14:03
cadaver

Registered: Feb 2002
Posts: 1153
ChristopherJam: "hifi" is nataspeak for always having the delaybug in the start of each note (common in most musiceditors nowadays.) Most often used case I guess is a high frequency noise in the first audible frame, which then will be only 0,5 frames long because of the delaybug.

Of course the whole concept of "hifi" in 25Hz mode is dubious, since the first wavetable row will be used for 2 frames, with delaybug included that's 1,5 frames.

I won't do any 25Hz mode specific hacks, but I guess there's easily 2 or 4 frames of gateoff+release 0 with default settings :)
2006-12-19 16:50
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: ChristopherJam: "hifi" is nataspeak for always having the delaybug in the start of each note (common in most musiceditors nowadays.) Most often used case I guess is a high frequency noise in the first audible frame, which then will be only 0,5 frames long because of the delaybug.

Of course the whole concept of "hifi" in 25Hz mode is dubious, since the first wavetable row will be used for 2 frames, with delaybug included that's 1,5 frames.

I won't do any 25Hz mode specific hacks, but I guess there's easily 2 or 4 frames of gateoff+release 0 with default settings :)


cadaver wrote:

> I won't do any 25Hz mode specific hacks, but I guess there's
> easily 2 or 4 frames of gateoff+release 0 with default settings :)


I'm not completely sure what you mean....
Then, do I have to write something like this in wavetable?

F6 00
E8 00
F6 A9
81 DE
21 00
FF 00

The ADSR bugs mainly occur ifs songspeed is 3 and instruments play on every pattern line.

The main problem is still the same. Within the tracker there are usually no bugs. It's an extremely painful work to test the song many, many, many times.
2006-12-19 19:48
cadaver

Registered: Feb 2002
Posts: 1153
No you don't. That's what the normal hardrestart is for. Looking into the testsids it seems you're misusing the 1stwave settings to make 25Hz mode do what it was never supposed to. Specifically, 1stframe waveform should never have gatebit off or the benefit of HR is completely nullified, since we're no longer having zero release when gatebit goes on the next frame. Just because something happens to work in the editor, doesn't mean you should necessarily be doing it.

But for "sexy" notes at 25Hz, try HR-param $ff00 - Gatetimer $81 - 1stwave $09 (actually it's not used, just make sure it's nonzero) - Attack/Decay $00 - then write your wavetable normally.

And anyway, if GT2 is too painful to use, no-one is still forcing you.
2006-12-19 21:54
Linus

Registered: Jun 2004
Posts: 638
lo,

i asked this before but still i didn't get why it wouldn't be possible to add another wavetable with $ff steps. one could utilize the 8-speed player then. seriously, this is not meant to sound like bitching at all, i am just curious as there are other editors that provide more than $ff wavetable steps.
2006-12-19 22:00
cadaver

Registered: Feb 2002
Posts: 1153
Well, I just don't feel like doing it :) Done whatever way, it would be quite a lot of modifications and quite a lot of pain, make the player code yucky, and include a songformat change.
2006-12-19 22:09
Linus

Registered: Jun 2004
Posts: 638
lo,

okay :) so no chance for a dedicated 'more than 4-speed' songformat either? see, it's fairly impossible to do anything serious in higher speeds in that case ;) *ducks*
2006-12-19 22:13
cadaver

Registered: Feb 2002
Posts: 1153
That would be a prime opportunity for someone who would actually have an interest in improving the program, like that enhanced 1.53 some time ago. I pretty much don't, anymore :)
2006-12-19 22:18
Linus

Registered: Jun 2004
Posts: 638
lo,

quite understandable *sigh*. well, thanks for the best editor ever anyway :)
2006-12-19 22:45
Hate Bush

Registered: Jul 2002
Posts: 453
Sascha, why the $ff long wavetable isn't enough for you? With note delays, I'm able to create over 20 good instruments even in 8x speed o_O
However I can understand that 20 or so instruments could be too limiting, as I usually use all the available slots :)
2006-12-20 00:44
A Life in Hell
Account closed

Registered: May 2002
Posts: 204
Quote: No you don't. That's what the normal hardrestart is for. Looking into the testsids it seems you're misusing the 1stwave settings to make 25Hz mode do what it was never supposed to. Specifically, 1stframe waveform should never have gatebit off or the benefit of HR is completely nullified, since we're no longer having zero release when gatebit goes on the next frame. Just because something happens to work in the editor, doesn't mean you should necessarily be doing it.

But for "sexy" notes at 25Hz, try HR-param $ff00 - Gatetimer $81 - 1stwave $09 (actually it's not used, just make sure it's nonzero) - Attack/Decay $00 - then write your wavetable normally.

And anyway, if GT2 is too painful to use, no-one is still forcing you.


Actually, it'sa funny story - last night a pack of rabid ninjas broke into my house, tied me up, and forced me to use GT2. Quite the odd experience...
2006-12-20 07:43
Linus

Registered: Jun 2004
Posts: 638
lo,

michal, if I wanna take full advantage of 8-speed (that includes some 'dirtifying techniques', freq- and waveform changes in the beginning of instruments) it is close to impossible for me to stay within in the $ff range. a simple lead for example eats $1a steps and i don't wanna talk about arps :) i know it can be done using wavetable delays but in that case the full potential 8-speed offers is gone, hands down :)
2006-12-20 12:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@cadaver

Hmm, it doesn't work. It only produces very inaccurate (everything but not sexy) sound.

This is my technique the create sexy instruments:

Gateoff timer: 81
HardRes/1stWave: 09

ADSR: 00F9

E8 00 ; testbit (waveforms with x0)
21 A5
11 A5
10 A0
10 98
10 85
FF 00

BTW, I noticed that the ADSR Bugs completely disappear if the packed song plays not 3 channels. I guess there is some timing problem in 25Hz mode.

Anyway, it's not that important. :)
2006-12-20 12:25
cadaver

Registered: Feb 2002
Posts: 1153
Sure you can bang your head to the wall as much as you like, but using gateoff just after the sound has been triggered (and ADSR set to instrument values) you're inviting nothing but unpredictability. I recommend trying in any other editor, don't think the results will be much more stable.
2006-12-20 14:24
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok, now I did some other examples. Now it seems to work. :))))

Anyway, there is a little problem with filtered sounds. It's because cutoff isn't set at frame 0. This is a problem since it forces choppy instruments if they are filtered. (25Hz mode)

25Hz mode, HR: 0F00

Gateoff timer: 81
Hardres/1stwave: 09

snare sound:

41 B4: last cutoff freq continues on frame 0
80 DF: new cutoff starts here
FF 00

So, f.ex if you have running on the same channel the bass sound with cutoff 5, the "41 B4" from the new instrument goes "lost". :(
2006-12-20 14:31
Raf

Registered: Nov 2003
Posts: 343
Nata, may I know why 25hz tracking is so important for you?


www.vulture.c64.org
2006-12-20 14:33
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Nata, may I know why 25hz tracking is so important for you?


www.vulture.c64.org


.. because it's more sexy than multispeed. :)
2006-12-20 14:41
Hein

Registered: Apr 2004
Posts: 933
Seems 25hz isn't so sexy, because you encounter quite some problems. (Though Hubbard proves it can be sexy, he must be a pragmatist)
2006-12-20 14:45
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Seems 25hz isn't so sexy, because you encounter quite some problems. (Though Hubbard proves it can be sexy, he must be a pragmatist)

25Hz is sexy.

Yes, I had a few problems, but now they are solved. (except the filter problem)
As far I can remember RobH. did not use HR for 25Hz.
2006-12-20 15:23
cadaver

Registered: Feb 2002
Posts: 1153
a) do sounds with gatetimer < $80 (ie. using 1stwave parameter normally)
b) hack player to execute filter last

When did Hubbard use 25Hz? In Synth Sample shittunes?
2006-12-20 15:36
Hein

Registered: Apr 2004
Posts: 933
Educational by Hubbard is a masterpiece, and I enjoyed the oings, pjieews from Final Synth Sample I alot when I was young.
But no, Musical Joke cover is 25hz. (Harvey Smith Show Jumper)
2006-12-20 18:43
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: a) do sounds with gatetimer < $80 (ie. using 1stwave parameter normally)
b) hack player to execute filter last

When did Hubbard use 25Hz? In Synth Sample shittunes?


Hmm, thats not really satisfying.

Couldn't you make the 25Hz mode work correctly?
This mode requires a "set filter" cmd on frame 0. Why not include it in the standard version?
2006-12-20 18:45
cadaver

Registered: Feb 2002
Posts: 1153
No, the whole wavetable-on-firstframe hack was just an ugly hack and afterthought, and shouldn't really be used :) It takes so much rastertime, it's disgusting..
2006-12-20 18:47
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Well, I use it quite often. It's useful. :)
For me it's no problem if it takes a lot of rastertime, as I don't include the songs in demos/games or something between.

Anyway, it would be cool if you would do certain hacks. :)
(You know what you are doing)
2006-12-20 19:25
cadaver

Registered: Feb 2002
Posts: 1153
Actually, just to remind, it's quite futile of you to expect any major "favors". Your not-so-distant past idiocy is remembered, you know :)

In fact, I was thinking.. anyone else using the gatetimer high bit to start wavetable right on note init? If not, it could "mysteriously" vanish from the next version, thus solving the filter problem wholly, and making the playroutine conceptually much more consistent again.
2006-12-20 19:33
Frantic

Registered: Mar 2003
Posts: 1627
@cadaver: If I were you, I would kick it out right away.
2006-12-21 09:20
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Actually, just to remind, it's quite futile of you to expect any major "favors". Your not-so-distant past idiocy is remembered, you know :)

In fact, I was thinking.. anyone else using the gatetimer high bit to start wavetable right on note init? If not, it could "mysteriously" vanish from the next version, thus solving the filter problem wholly, and making the playroutine conceptually much more consistent again.


> Actually, just to remind, it's quite futile of you to expect any
> major "favors". Your not-so-distant past idiocy is
> remembered, you know :)

I'm sorry! Can you forgive me?

---

Please, don't remove it!

---

Theoretical question: It's technically possible to slide up/down a melody and the vibrato continues?

Btw: I saw that Cybertracker can slide up/down arpeggios. This is really a cool feature + it sounds extremely good. Ok, maybe it's more rastertime consuming. But who cares about RT anyway? :)
2006-12-21 15:38
cadaver

Registered: Feb 2002
Posts: 1153
It's not a matter of forgiving, it's of the free will & free time that we each expend on c64 scene activities. Everything forgiven, nothing forgotten, activities chosen & prioritized accordingly. And your requests are pretty near rock bottom, considering they'd also usually take the editor in directions I personally oppose. And considering I pretty much don't listen to anyone else either nowadays :)
2006-12-21 23:19
Raf

Registered: Nov 2003
Posts: 343
like ppl shouting for stereo GT2.x for example ;-)

www.vulture.c64.org
2006-12-22 03:19
Jammer

Registered: Nov 2002
Posts: 1289
nata, does such 25hz satisfy you? done in gt 2.55:

http://trinity.unreal.pl/ForPals/HalfQuality.sid
2006-12-22 09:29
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: nata, does such 25hz satisfy you? done in gt 2.55:

http://trinity.unreal.pl/ForPals/HalfQuality.sid


Jammer,

the tune sounds quite nice! Unfortunately it sounds more like a short sample that is repeated over and over.
And maybe the drum instrument isn't that sexy as it could be...
Anyway, don't get me wrong - it's just my opinion. :)

Cadaver,

I understand your point. I will respect that.
2006-12-22 12:06
Raf

Registered: Nov 2003
Posts: 343
Quote: nata, does such 25hz satisfy you? done in gt 2.55:

http://trinity.unreal.pl/ForPals/HalfQuality.sid


moon patrol goes funk-disco? ;-)

www.vulture.c64.org
2006-12-22 15:43
Jammer

Registered: Nov 2002
Posts: 1289
nata >> you won't do anything better with drums (snare to be more specific) working in 25 Hz, i assure you ;)
2006-12-22 15:55
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Just a short sample (done right now):

http://www.rogepost.com/n/9922518421

Use something else than sidplay2w to listen. :)

Jammer, you have to use gateofftimer "81". Wavetable will be started directly with the desired waveform on frame 0. (without the $09)
Anyway, filters doesn't start at frame 0, so you must use a few tricks to make filtersounds not buggy.
2006-12-22 23:58
ChristopherJam

Registered: Aug 2004
Posts: 1378
@Nata - nice instruments! Certainly proof that you can do good work in 25Hz

..but I'm glad I listened first on a real c64. Are there any emulators that this track sounds remotely correct on? Sidplay 3.4.1 and Power64 are both failing utterly, despite the the former using reSid in some form or other.

I'm certainly starting to think that if I do any kind of non-c64 native editor that not only would communicating with a real SID be imperative, but emulation would likely be fairly pointless. So much for composing on-the-road with my laptop.
2006-12-23 00:59
cadaver

Registered: Feb 2002
Posts: 1153
VICE? Sidplay/W?
2006-12-23 01:17
ChristopherJam

Registered: Aug 2004
Posts: 1378
OK, I just reinstalled VICE (the Mac port isn't particularly native (x11) and two years ago was pretty buggy), and the hi-hat(?) is still noticeably off, but the drums sound much much better.

I did use to VICE (and regular transfers to real c64!) for instrument repair at LCP2004 once I discovered that all the instruments I'd been testing under power64 were broken. I know now it was the ADSR delay bug, but at the time I wasn't familiar with it, and just resorted to a fast attack and several gated frames.

*tries to feel motivated about launching virtual PC*
*fails*
2006-12-23 08:41
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: VICE? Sidplay/W?

or Hoxs64..

Personally I would not recommend Sidplay/W.

--

Anyway, I hope that people finally start to compose their killer tunes in 25Hz mode instead of multispeed. :))))))
2006-12-23 11:32
Linus

Registered: Jun 2004
Posts: 638
"Man's got to know his limitations" - Harry Calahan.

:)
2006-12-23 23:16
Jammer

Registered: Nov 2002
Posts: 1289
Quote: Just a short sample (done right now):

http://www.rogepost.com/n/9922518421

Use something else than sidplay2w to listen. :)

Jammer, you have to use gateofftimer "81". Wavetable will be started directly with the desired waveform on frame 0. (without the $09)
Anyway, filters doesn't start at frame 0, so you must use a few tricks to make filtersounds not buggy.


'nie ucz ojca dzieci robic'

which translates literally as:

don't teach father how to make kids :D

i really know every trick with hardrestart in gt, the way i've done it in my example is strictly controlled as it was my purpose to make it sound just like that :P i planned to make the most realistic 25hz snare possible and probably accomplished the mission :P
2006-12-24 00:18
Raf

Registered: Nov 2003
Posts: 343
said by the most modest scener over all the world ;-)

www.vulture.c64.org
2006-12-24 09:04
Laxity

Registered: Aug 2005
Posts: 459
Quote: Just a short sample (done right now):

http://www.rogepost.com/n/9922518421

Use something else than sidplay2w to listen. :)

Jammer, you have to use gateofftimer "81". Wavetable will be started directly with the desired waveform on frame 0. (without the $09)
Anyway, filters doesn't start at frame 0, so you must use a few tricks to make filtersounds not buggy.


Nice..

I wouldn't have guessed that this is half speed, but the "quality" doesn't surprise me either. Since the ADSR bug causes a gate on delay of roughly one and a half frames, one can still make the usual short initial noise etc..

What's the catch with SidPlay/w, why is it "bad"?
2006-12-24 10:56
Bamu®
Account closed

Registered: May 2005
Posts: 1332
... because it has (IMO) an extremely low quality audio output. :-D

1. 6581 filters: where is the distortion?
2. 6581/8580: there is something missing in the noise waveform.
3. 8580: Damn, resonance is too low in reSID. (it's the same in GT)
4. Emulation: Where is the high quality mode? (resample, interpolation)

And it seems that the emulation isn't that cycle exact (sometimes) like the real thing.

Anyway, here an example:

http://www.rogepost.com/n/2206993644
2006-12-24 11:08
Raf

Registered: Nov 2003
Posts: 343
then use

x64 -vsid <filename.sid>

;-) - you have control over all the params using additional cmd line switches.

www.vulture.c64.org
2006-12-24 13:34
Jammer

Registered: Nov 2002
Posts: 1289
laxity >> sidplay 2/w has totally screwed up hi pass filter. instead of 'ssssss' you hear 'shhhhh'. above $80 there's no difference in cutoff at all. i personally recommend sidplay 2 for winamp, it sounds practically like goat tracker and vice (however i've noticed minor adsr bugs in my one tune but still it's better than sidplay 2/w). moreover, 8580 combined waves sound much better with sidplay 2 for winamp.
2006-12-24 16:02
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: laxity >> sidplay 2/w has totally screwed up hi pass filter. instead of 'ssssss' you hear 'shhhhh'. above $80 there's no difference in cutoff at all. i personally recommend sidplay 2 for winamp, it sounds practically like goat tracker and vice (however i've noticed minor adsr bugs in my one tune but still it's better than sidplay 2/w). moreover, 8580 combined waves sound much better with sidplay 2 for winamp.


... or a real 8580 :)

@raf

which are the additional parameters? What can be changed?


2006-12-24 18:30
Raf

Registered: Nov 2003
Posts: 343
'help|command line options' shows them all , however ... here is a brief list of what's really useable if oanyone is interested:

-soundrate <value>
Set sound sample rate to <value> Hz
-soundbufsize <value>
Set sound buffer size to <value> msec
-soundsync <sync>
Set sound speed adjustment (0: flexible, 1: adjusting, 2: exact)
-sidengine <engine>
Specify SID engine (0: FastSID, 1: ReSID, 2: Catweasel, 3: HardSID)
-sidstereo
Enable second SID
-sidstereoaddress <base address>
Specify base address for 2nd SID
-sidmodel <model>
Specify SID model (0: 6581, 1: 8580, 2: 8580 + digi boost)
-sidfilters
Emulate SID filters
+sidfilters
Do not emulate SID filters
-residsamp <method>
reSID sampling method (0: fast, 1: interpolating, 2: resampling, 3: fast resampling)
-residpass <percent>
reSID resampling passband in percentage of total bandwidth (0 - 90)
-residgain <percent>
reSID gain in percent (90 - 100)

and.. probably -pal and -ntsc may be used to set this 'flag' too :)

www.vulture.c64.org
2006-12-25 13:02
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm, but why should I use cmd line options if I everything can set under "settings"? :)
2006-12-25 13:50
Jammer

Registered: Nov 2002
Posts: 1289
Quote: Hmm, but why should I use cmd line options if I everything can set under "settings"? :)

you're not oldskool enough :P ah, just foolin' around :D i also hate programs which include commandline options, uncomfortable like hell.
2006-12-25 15:04
Raf

Registered: Nov 2003
Posts: 343
Quote: Hmm, but why should I use cmd line options if I everything can set under "settings"? :)

when you play directly from cmd line then it's quite nice to set params too , especially considering nothing shows up when VSID mode is enabled , so I guess you didn't even try to fire up vice with vsid switch or are trying to be joker.

and.. cmdline is very nice way to use many programs , but with today generation of "ppl who can't use computer w/o arrow on the screen" many 'ordinary' users don't even know about console and take console users as magicans writing spells...

www.vulture.c64.org
2006-12-28 12:50
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hi!

It's not directly a bug, but...

Often it makes sense to use relative instead of absolute note values.
It's quite common to use something like this:

81 D4 ; absolute pitch
21 00
FF 00

However, this works in the most cases but sounds sometimes really boring.

81 3C ; relative pitch
21 00
FF 00

It's a lot more diversified, but unfortunately there is no boundary control.
This way the pitch would never go higher "47" if someone uses relative pitch values. (because everything above will be silent)

---

About Arpeggios & 1xy, 2xy cmd:

It is natural restriction or intentionally disabled by you?
When I play an arpeggio it's absolutely not influenced by an 1xy, 2xy cmd.
Anyway, it would be cool if you could enable this feature since GT2 already has a lot quality features which take a lot of rastertime. (I think that an average of $17 lines isn't very much) Plus, people can enable all restrictions if they want low rastertime.
2006-12-29 17:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Shrug?
2006-12-29 17:53
Linus

Registered: Jun 2004
Posts: 638
lo,

Nata: 1XX and 2XX affect an arp if you set frequency to '80'.

Example:

41 00
08 80
41 03
08 80
41 07
08 80
41 0b
08 80
ff 01

2006-12-29 18:21
cadaver

Registered: Feb 2002
Posts: 1153
Nothing has been deliberately disabled, this is the way my musicroutines have always treated frequency (arp sets the absolute frequencyvalue, discarding any modification done by vibrato or slide). And this is certainly not the time or place to completely revamp that. So get cranking out those unofficial versions :)
2006-12-29 18:58
Raf

Registered: Nov 2003
Posts: 343
Quote: Hmm, but why should I use cmd line options if I everything can set under "settings"? :)

you can't change sid to '8580+digi click boost' inside GUI menus

www.vulture.c64.org
2006-12-29 20:03
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Nothing has been deliberately disabled, this is the way my musicroutines have always treated frequency (arp sets the absolute frequencyvalue, discarding any modification done by vibrato or slide). And this is certainly not the time or place to completely revamp that. So get cranking out those unofficial versions :)

I wish there would be any unofficial GT2 versions with cool & new features. :_(

@raf
Ok that's true but IMO quite lame. :)

2006-12-29 20:04
Raf

Registered: Nov 2003
Posts: 343
Ther learn C and make them , Cadaver's code is open and free :)


www.vulture.c64.org
2006-12-29 20:08
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Ther learn C and make them , Cadaver's code is open and free :)


www.vulture.c64.org


@linus
unfotunately it's not the same as a real arpeggio slide. At the moment it is impossible with GT2. :_(

@raf
I won't learn it. music is already hard enough.

Plus, Cadaver is the best and he knows how to include cool features. :))))
2006-12-29 21:41
cadaver

Registered: Feb 2002
Posts: 1153
V2.58 fixes rastertime peaking. Let's see if I get my downvote back :)
2006-12-30 06:59
Bexta
Account closed

Registered: Dec 2006
Posts: 1
Quote:
I wish there would be any unofficial GT2 versions with cool & new features. :_(


@nata
u may seem to have all time in the world for these ideas. but please remember. other ppl have other things to do. like living. and since wen is Cadaver ur personal code slave???

i have lots of time on my hands. and have plenty of ideas for c64 music routines. thats why i *am* learning to code on the c64.

im not lazzy enuff to expect sum other poor sod to do sumthing i realy shud do myself.

@Cadaver
i have the deepest simpathy for u. and think gt2 rox bigtime, even without most of these features. its a credit to ur good name. so is ur devotion to making it wat it is.

lv, bex.xXx
2006-12-30 10:50
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Do you really have removed these VERY important feature?

"* Gatetimer high bit to start wavetable immediately"

How sad is this? I bet you did it only to stultify me.
IMO you seem not to understand why it is important to start waveforms on frame 0. :_(

... however just another sad day... :_(
2006-12-30 10:59
Raf

Registered: Nov 2003
Posts: 343
then do not upgrade your gt ;-)

www.vulture.c64.org
2006-12-30 11:01
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: then do not upgrade your gt ;-)

www.vulture.c64.org


Sure, I won't upgrade it anymore.
BUT, what is if GT2 gets maybe a new feature which I would require? (for ex. reSID update)

it's only sad :_(
2006-12-30 11:07
Raf

Registered: Nov 2003
Posts: 343
resid update can be apllied by keeping old source and borrowing new resid from newer source - this is how see it


www.vulture.c64.org
2006-12-30 11:09
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: resid update can be apllied by keeping old source and borrowing new resid from newer source - this is how see it


www.vulture.c64.org


Sadly if have only a backup from version 2.54.

---

Cadaver, why don't you remove every quality feature? Hmmm?
2006-12-30 11:22
Raf

Registered: Nov 2003
Posts: 343
I have 2.56 , may share with you if you wish.

www.vulture.c64.org
2006-12-30 11:26
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: I have 2.56 , may share with you if you wish.

www.vulture.c64.org


Yes please!

---

Somebody knows where I can get the "MinGW development enviroment"?. (Can someone send it by mail or upload to rapidshare?) Thanks!

I would only require a minimal version in order to recompile GT2
2006-12-30 11:48
Raf

Registered: Nov 2003
Posts: 343
http://www.mingw.org/
however I dunno it the basic download will allow to recomiple GT. moreover you surely have to download SDL additionally and compile it.

I suggest this : http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup..
and inside you can downloads additional libs (including SDL) by built in tools easily :) - actually I never succeded in manually configuring mingw so I could compile win32 VICE myself , and devcpp let me do that.

http://www.ryomanhattan.addr.com/raf/goattrk256.rar
may contains some of my personal files - just ignore ;-)

PS. pity that nobody is hosting sth like "winamp's heaven" site containg every version of GT released ;-)

www.vulture.c64.org
2006-12-30 13:06
cadaver

Registered: Feb 2002
Posts: 1153
nata: Actually it was just to keep the player logical and consistent (the filter-start thingy), and shouldn't ever have been there in the first place, for the rastertime really was atrocious when used on all instruments, I didn't remember how atrocious!

(but it's true that without your recent flurry of messages, I wouldn't have started re-checking things..)
2006-12-30 15:16
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Tsss, why don't you remove the multi-speed feature?
It really would clean up the playroutine.
And why not? High rastertime usage is so disgusting...

Let's see if Linus, Jammer, & Randall still would be happy with it.

Anyway, If you start now to remove several features to keep the player logical just wait and see...
2006-12-30 15:20
cadaver

Registered: Feb 2002
Posts: 1153
Again, you're descending into the childish & ridiculous. It's only a musiceditor for fucks sake :)
2006-12-30 15:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@raf

I'm not sure what I have to download from http://www.mingw.org/
Where is the *.exe?!? This site is quite confusing to me. :(

cadaver: no, it is not!
2006-12-30 15:51
Raf

Registered: Nov 2003
Posts: 343
http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download

this is the basic set containing compiler and linker and other absolutely necessary things.

www.vulture.c64.org
2006-12-31 00:48
cadaver

Registered: Feb 2002
Posts: 1153
A change I wanted to do for a long time, separating control of gateoff disable (legato) from the 1stwave parameter. As always, approach with caution. Old songs should be auto-converted... Tweak utility was also updated.

v2.59 changelog:

- Songformat version update (GTS5/GTI5)
- Gateoff Timer parameter bits control now hardrestart disable ($80) & gateoff disable ($40).
- 1stFrame Wave can be any from $01-$8F (implies gateflag on), $00 to leave both waveform & gateflag unchanged, or $FE / $FF to control gateflag but leave waveform unchanged.
2006-12-31 10:27
Bamu®
Account closed

Registered: May 2005
Posts: 1332
@raf

Thank you very much for the links! :)

---

@cadaver

Aha! So, you officially started the downgrade phasis of GT2? :D

For the next version don't forget to remove ADSR cmds, wave delay, freq 80 (man, it eats rastertime) and everything that isn't logical. I wish you happy coding.
2006-12-31 13:01
cadaver

Registered: Feb 2002
Posts: 1153
So does that wish imply you're quitting this thread finally? :) Or was that just wishful thinking? Anyway, good luck with cybertracker modifications.
2006-12-31 14:22
ice00

Registered: Apr 2002
Posts: 54
@PS. pity that nobody is hosting sth like "winamp's heaven" site containg every version of GT released ;-)

Actually I have stored about 61 versions of GT2 (with beta versions too, maybe only some versions are missing) to be released in HVMEC as soon as I will have space hosting for that. Maybe one day...
If one is look for a particolar old version, drop me a mail
2006-12-31 15:53
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: @PS. pity that nobody is hosting sth like "winamp's heaven" site containg every version of GT released ;-)

Actually I have stored about 61 versions of GT2 (with beta versions too, maybe only some versions are missing) to be released in HVMEC as soon as I will have space hosting for that. Maybe one day...
If one is look for a particolar old version, drop me a mail


ice00: why don't you switch your internet provider? (Or, I'm sure there is someone that can share a few Megabytes webspace)
2006-12-31 15:59
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: So does that wish imply you're quitting this thread finally? :) Or was that just wishful thinking? Anyway, good luck with cybertracker modifications.

No, we will continue till 1000+ posts. :D

---

So you did the modifications only to keep me away from GT2?
Or was it just for your own satisfaction?

Anyway, it's more than sad.
2006-12-31 17:04
cadaver

Registered: Feb 2002
Posts: 1153
Neither really, 'cos I don't really derive satisfaction from using or developing GT :) but I believe a feature that was not working properly anyway (the filterstart, again) and giving an ungodly rastertime hit was worth replacing with a lot of added control for HR/gateoff/gateon/1stwave behaviour.

Of course I'd wish you'd be a little more consistent in your decisions, considering how fine anti-GT avatars you had at lemon64 at one point :)
2007-01-01 11:25
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Hmm, but you said that you have forgiven me. (some posts earlier)
(Yes, I still have the avatars - just in case they are required sometime) :-D

Personally, I have never had any bigger problems with the "filterstart", but yes, in 25hz mode it was sometimes a bit disgusting.
And hey, now your dreams come true. I'm consistent: There is absolutely no reason to update GT2 to the newest version. :)
2007-01-01 13:17
cadaver

Registered: Feb 2002
Posts: 1153
No, you still don't get it, I'm not mad at you for using anti-GT avatars, or anything else :) I took that as another way of saying "I don't use goattracker". Yet you still seem to be using it...

I'm quite sure though, that despite what you're saying now, in a few weeks or months time you're again back with new requests ;)

(and just as a sidenote, it's perfectly possible to do stupid immature things that permanently hurt your reputation, without really offending anyone and therefore not needing to be "forgiven" by anyone. Like when you started changing your csdb-username several times after quitting.)
2007-01-01 16:11
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Ok! :)

To be honest, I was rather sad & disappointed to see that you have removed one of my favourite GT2 features (the most of my worktunes are incompatible now). I won't explain you why it is so important for me, but seriously, in this case it makes no sense to request new features nor use the new version.

---

Btw. T.S.o.B.W. takes only $15 rasterlines even if I have used "Frame 0", "HIFI-Vibrato", "Pulse optimization = OFF", "Realtime command optimization = OFF" and "Arpeggio-Vibrato". :)
2007-01-01 16:45
Bamu®
Account closed

Registered: May 2005
Posts: 1332
... but of course, it's quite hard to not request features for several months. (without GT I wouldn't be here at csdb)
2007-01-02 10:23
A Life in Hell
Account closed

Registered: May 2002
Posts: 204
Quote: ... but of course, it's quite hard to not request features for several months. (without GT I wouldn't be here at csdb)

I can't believe you don't shut the fuck up. How the fuck do you not realise that it's time to stop speaking? What the fuck is wrong with you, sir?

2007-01-02 12:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: I can't believe you don't shut the fuck up. How the fuck do you not realise that it's time to stop speaking? What the fuck is wrong with you, sir?



What the HELL is wrong with youuuu??? ;-)
2007-01-02 22:13
AüMTRöN

Registered: Sep 2003
Posts: 42
HAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHHA!

No, really.
2007-01-03 02:57
A Life in Hell
Account closed

Registered: May 2002
Posts: 204
Quote: What the HELL is wrong with youuuu??? ;-)

Aparently, being able to - despite my otherwise horrific spelling and grammer - spell 'you' with a single u, and end questions with a single piece of punctuation, is what the hell is wrong with me.
2007-01-03 05:34
fade
Account closed

Registered: Mar 2002
Posts: 290
that's grammar btw :)
2007-01-03 07:47
Style

Registered: Jun 2004
Posts: 498
Can someone please help me.

Im using goattracker on my pc, but cant find any instructions on how to get it to actually track goats. My goats are running around all over the place, I keep losing them, and I have no idea how many I actually have.

Does the software use RFID tags on the goats or something?

Thanks for your assistance.
2007-01-03 08:15
Steppe

Registered: Jan 2002
Posts: 1510
Neh, it's done manually: Mark your goats with paint (in HEX!!!), then track them manually as they run around on your meadow. Then enter the numbers of your goats into Goattracker (in HEX, dummy!!!). That's basically all. I think. Not quite rocket science, even shepherds like me use it and it works like a charm!
2007-01-03 08:36
ChristopherJam

Registered: Aug 2004
Posts: 1378
Sorry to be on-topic (boring I know), but I have a question for Cadaver (or it may be down to @nata's useage!?).

Is there any particular reason for disabling the low-pass filter when no voices are being filtered? I am spotting sequences of writes equivalent to

	lda#$f0:sta $d416
	lda#$f1:sta $d417
	lda#$1f:sta $d418

and
	lda#$f0:sta $d417
	lda#$0f:sta $d418  /* redundant? */


in 25hz_4.sid when voice one changes to/from a filtered state. Is that just to make the code simpler, or does it affect sound quality in some circumstance?
2007-01-03 08:59
fade
Account closed

Registered: Mar 2002
Posts: 290
Quote: Can someone please help me.

Im using goattracker on my pc, but cant find any instructions on how to get it to actually track goats. My goats are running around all over the place, I keep losing them, and I have no idea how many I actually have.

Does the software use RFID tags on the goats or something?

Thanks for your assistance.


Really ?
Fucking
Idiot
Detected.

yeah u herd me (!)
2007-01-03 10:15
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Btw. with the new version you can't anymore do songs like 25hz_4.sid in 25Hz mode. :D :P ;-)
2007-01-03 10:25
ChristopherJam

Registered: Aug 2004
Posts: 1378
Bwaha - I'll just have to write my own tracker, oh yeah I was! ;) ;)

In the mean time, my disassembler can still only read GT tunes; another 6 instructions to emulate before I can play back Kinetix...
2007-01-03 12:38
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I wouldn't be surprised if Cadaver covertly works on v3.0 or at least v2.60final. :DDDDDDDDD
2007-01-03 13:49
ChristopherJam

Registered: Aug 2004
Posts: 1378
I was about to point out my Windows allergy, but then I discovered.. GT 2.25 for OS X!
*downloads*
But no, that style of editing still hurts my brain. Back to my overambitious never to be realised grandiose plans.

Where would the scene be if not for NIH, eh?
2007-01-04 13:21
Bamu®
Account closed

Registered: May 2005
Posts: 1332
GT 2.25 ???? =:-O
Maybe they missed to update....

Anyway, Still I'm lookin' for a way to run GT2 from a Live-CD.
It seems not to work with BartPe - maybe with some mini linux? (I would like to use Puppy Linux)
IMO it would be interesting to have a GT2 distribution that directly runs from CD. So, it would be possible to compose at PC's with minimal configuration but with maximum power. :)

Anybody could help?
2007-01-07 11:58
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Cadaver, do you still have the tweak tool for version 2.57?
2007-01-07 13:52
cadaver

Registered: Feb 2002
Posts: 1153
No.
2007-01-07 17:54
Bamu®
Account closed

Registered: May 2005
Posts: 1332
:_(

Anyone else?
2007-01-07 18:07
Bamu®
Account closed

Registered: May 2005
Posts: 1332
I guess I found it now. :)
It seems to be GTS4.

Anyway, it seems that it cannot play correctly my songs (v2.57). Why?
2007-01-07 18:40
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Bleh, it doesn't recognizes when a song has disabled HR.
2007-01-07 18:47
cadaver

Registered: Feb 2002
Posts: 1153
The versioning is actually there because something actually changed in the way the playroutine should work (!), not to piss off people randomly
2007-01-07 18:49
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Aha! And?
2007-03-05 01:02
Conrad

Registered: Nov 2006
Posts: 833
Hello.

Just thought I'd leave a message on this super-long thread, and so...

@Cadaver: This is an excellent tool! Keep up the good work man! :-)
Aren't you getting tired of this thread BTW ?
2007-03-05 09:10
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote:
Aren't you getting tired of this thread BTW ?

For sure he is already tired for ages (when I'm involved)... ;-D
2007-08-05 19:01
Conrad

Registered: Nov 2006
Posts: 833
Back to this old thread again as I have a question/idea for Cadaver, ( this a sensible discussion btw )

Me and Linus had a talk about this idea on IRC.

Could you be able to implement a note detune parameter either in the instrument data, or as a track command (or maybe both.)? Having this would allow to create some very nice detune/flanger effects at lower speeds like 50Hz.

Also, Linus mentioned about vibrato "auto calculate" routine, where say for example, vibrato plays such a rate at note "C-4", and will also play at the same rate and power at note "C-6". It doesn't seem to happen in the current version. This would shorten the number of vibrato programs to use as well.
2007-08-05 19:10
cadaver

Registered: Feb 2002
Posts: 1153
There's no room for more track commands. If you want to be clever, you can do detune by running a portamento command for one frame through the wavetable.

Slide/vibrato intelligence has been extensively discussed before, and my conclusion is that it would suit a hacked version better. I want to retain official GT as sort of raw and lean, and furthermore the probability that I actually do any major modifications is very slim, so better get hacking :)
2007-08-05 19:17
Conrad

Registered: Nov 2006
Posts: 833
hm, yes hacking would probably be the best alternative since i can code as well.

and yes your method on detune with slide seems to be just as good, as I just gave it a test a minute ago. no probs :)

thanks Lasse :)
2007-08-05 20:45
Linus

Registered: Jun 2004
Posts: 638
I disagree :) If you want to play a melody using two voices (one of them slightly detuned) preserving exact the same detune amount you need tons of slide parameters without auto depth calculation - which is obviously a pain in the ass. So ... pleeeeaaassseeeee with a cherry on top add a proper detune routine or auto depth calculation :) It's the only feature missing from an otherwise perfect tracker :)
2007-08-06 01:07
cadaver

Registered: Feb 2002
Posts: 1153
Well... few hours later CRD's post actually got me thinking of a quite simple way of adding realtime calculated vibrato/portamento, so it is done in V2.62. I'd be surprised if I didn't fuck up something in the process, though.

Calculation is enabled by adding high bit ($80) to speedtable left side. For vibrato, it also contains the dir-change speed as usual. Right side then becomes the amount of right-shifts done to the frequency difference between this note and next, you can go up to $ff for extremely high rastertime, and to add insult it's calculated every frame for simplicity ;)

Detune still has to be done with the wavetable-controlled portamento method.
2007-08-06 01:51
Conrad

Registered: Nov 2006
Posts: 833
Quote:
I'd be surprised if I didn't fuck up something in the process, though.


Doesn't seem you have at all. I just tried v2.62 with one of my worktunes and everything works fine, both in editor and exe... the vibrato is now much better :) when the high bit is set of course.

And yes, the rastertime does go sky-high when you use larger values in the right table, but I think it will be quite unlikely we'll use higher values for vibrato, because lower values output the same vibrato rate, which is good :) As for portamento, we'd better stick to the original method ;) Obviously I deliberately put larger values in the speed-table to test it - no problems at all. One thing we need to take care of though is portamento up and down, as now the porta range is from $0000-$7fff.

Anyway, thats great work! Thanks for implementing that cadaver :) Respect!
2007-08-06 06:44
Linus

Registered: Jun 2004
Posts: 638
Thank you very much, Cadaver! Gonna try it tonight :)
2007-08-06 09:52
Mace

Registered: May 2002
Posts: 1799
It's not that I have any knowledge of GoatTracker, so I'm just blurting a thought here:
Aren't there any spare bits or bytes left in the instrument settings that allow for a 'detune' feature?

So doing a detuned track would require the use of another instrument, instead of control bytes or whatever else there is...
2007-08-06 10:24
cadaver

Registered: Feb 2002
Posts: 1153
No, there are no spare bytes. And GT2 is an unintelligent player that doesn't understand the concept of base frequency + detune frequency like some players do.

By making a new songformat to add a byte to the instrument data, and modifying the player quite a lot, a "proper" detune could be added, but I don't see the point as it can already sort of be done now.

EDIT: Yes, I managed to fuck up the detection whether the new code should be used (in the relocator, a classic off-by-one error), so if you want that to be tested reliably, redownload :)
2007-08-06 12:11
Fanta

Registered: Jan 2002
Posts: 26
quite cool! i think what's still really missing is the possibility to run both vibrato and wavetable at once like with an arpeggio (bad example but still...). any changes to fix that somewhen??
2007-08-06 12:24
cadaver

Registered: Feb 2002
Posts: 1153
No, frequency is & will be "direct" controlled in official GT, so it's not like there's something to "fix", that'd be a paradigm change and would probably break many old tunes. So there's at least a prime opportunity for hacking..
2007-08-07 23:47
cadaver

Registered: Feb 2002
Posts: 1153
Did somewhat important fix in V2.63 for the calculated vibrato/portamento: it's now calculated from the last note set in wavetable, not the last pattern note. This means that you can for example set the note one octave higher in wavetable (xx 0c), and vibrato/portamento will still be same as if it was octave lower. Also toneportamentos are being calculated according to the start note.

Edit: Also, make sure that the GT V2.63 zip you got has timestamp 13:45 or later, there was a nasty error where channel 3 was missing a variable, leading to it possibly corrupting channel 1 playback :)
2007-08-08 12:49
dalezy

Registered: Apr 2002
Posts: 475
this is just too tempting, i'm about to convert back to goat again, or at least try it out again for a motivational change. now all i have to do is get arsed to understand how the pulse+filtertable work, because they're somewhat different to jch. :D
2007-08-08 12:59
cadaver

Registered: Feb 2002
Posts: 1153
Some additional hints:

- If you use only calculated speeds, the normal speed code will be optimized away, leading in slightly shorter & faster player.

- If your song doesn't start all channels at once, it's a good idea to not have calculated instrument vibrato in instrument 1 (the default on startup), otherwise the speed calculations start right away on all unused channels, leading to greater rastertime use.
2007-08-18 21:22
dalezy

Registered: Apr 2002
Posts: 475
there's a problem that really bugs me with the current version :D

for some reason, goattracker sometimes refuses to play anything. i did a drum-sound, put the sound into pattern #1, try to play it - nada. the player is being initiated with a click and the cursor moves with the first note, but it stops abruptly and i get the 'stopped' message at the bottom of the screen.

the same happens when i load some worktunes from ~2000 (i guess that was the time of gt 1.2/1.3?) - the tune loads perfectly, but nothing happens when i want to play the tune. madness! =)
2007-08-18 23:37
cadaver

Registered: Feb 2002
Posts: 1153
The editor playroutine stops whenever there's something that makes the tune unplayable after packing/relocating. Try pressing F9 and maybe it'll tell in detail what's wrong.
2007-08-22 12:15
dalezy

Registered: Apr 2002
Posts: 475
where's the reply i shoot off on saturday? i wonder if that's anything to do with the secret causing-too-much-load messages that appeared here lately.

anyway, f9 seems to stop working once a crippled tune has been loaded and more tunes follow in the same session, f9 doesn't give out any error-table-messages until i start gt all over.
but yeah, basically f9 does solve it - once it works. =)
2007-08-22 12:39
Conrad

Registered: Nov 2006
Posts: 833
When you load one of your older version tunes (are they under 2.0 btw?) do some of the data tables miss out the end values? ($ff) because used table data without $FF does cause an overflow error when you compile.
2007-08-22 12:44
cadaver

Registered: Feb 2002
Posts: 1153
Dalezy: after which kind of relocator error does F9 stop working? Please reproduce the error message here. Or if it doesn't give a message even on the first time, send me one of your crippled tunes that causes this.
2007-08-22 13:36
dalezy

Registered: Apr 2002
Posts: 475
crd, yeah, they're way older than 2.0 (some where done in the first ever released version of gt =)

cadaver, gotta seek them out at home again
2008-03-06 13:11
dalezy

Registered: Apr 2002
Posts: 475
yay. i was the last one to post, the above problem is long solved now.

now for something completely refreshing. i couldn't find it in nata's wishlist for some reason, so i'll put it on mine instead: buzz and renoise for example have this excellent feature to automatically increase or decrease values by marking a specific region, putting a start value on top and an end value on the bottom, by pushing a key combo the values inbetween are being automatically calculated.

so, in practice for, let's say filter- or adsr-commands inside the pattern it would look like something like this:

x0f < start value
x0e
x0d
x0c
x0b < end value

or, depending on the length:

x0f < start value
x0f
x0e
x0e
x0d
x0d
x0c
x0c
x0b
x0b < end value

this could also come in handy if you want to do noteslides into various directions, from let's say g-4 down to g-3 without wanting to type it all in by hand.

does that sound like a great thing to have? of course it does! :)
2008-03-06 14:11
Jammer

Registered: Nov 2002
Posts: 1289
transparent paste is something useful, too (1 channel echoes ;P zum bei spiel)
2009-11-11 22:07
Linus

Registered: Jun 2004
Posts: 638
Any chance for a reSid-fp version of GT2, btw? =)
2009-11-12 06:31
Mr. SID

Registered: Jan 2003
Posts: 421
From cadaver's webpage:
"V2.68 adds Antti Lankila's improved reSID distortion code. See /I command line option."
2009-11-12 10:41
Radiant

Registered: Sep 2004
Posts: 639
Unfortunately it doesn't sound like any SID model I've heard...
2009-11-12 13:33
GT
Account closed

Registered: Sep 2008
Posts: 308
Quote: yay. i was the last one to post, the above problem is long solved now.

now for something completely refreshing. i couldn't find it in nata's wishlist for some reason, so i'll put it on mine instead: buzz and renoise for example have this excellent feature to automatically increase or decrease values by marking a specific region, putting a start value on top and an end value on the bottom, by pushing a key combo the values inbetween are being automatically calculated.

so, in practice for, let's say filter- or adsr-commands inside the pattern it would look like something like this:

x0f < start value
x0e
x0d
x0c
x0b < end value

or, depending on the length:

x0f < start value
x0f
x0e
x0e
x0d
x0d
x0c
x0c
x0b
x0b < end value

this could also come in handy if you want to do noteslides into various directions, from let's say g-4 down to g-3 without wanting to type it all in by hand.

does that sound like a great thing to have? of course it does! :)


Weird and time consuming command protocol. I remember when doing music on the Amiga AHX editor, same sad thing. One command is enough, change it when needed.
2009-11-12 14:26
cadaver

Registered: Feb 2002
Posts: 1153
Apparently resid-fp sounds weird out of the box. It probably needs a configuration to be applied (like vice does.)
2009-12-21 20:58
cadaver

Registered: Feb 2002
Posts: 1153
Yeah, now got finally some time after nanowrimo :) and released V2.69, in which there's yet again newest code from Antti Lankila, and configurable parameters for the filter/distortion (look into the end of goattrk2.cfg file)

As a default setting, Alankila6581R4AR_3789 is used.
2009-12-22 18:42
pvcf

Registered: Feb 2005
Posts: 18
@cadaver
did you fixed the multiframe sid-export bug ?
2009-12-22 20:37
cadaver

Registered: Feb 2002
Posts: 1153
At least not consciously.. probably my memory fails. What was it, how do you repro?
2009-12-23 02:32
pvcf

Registered: Feb 2005
Posts: 18
the player recognize the multi-frames, but not the positions of called interrupts, it seems it plays together, at the same position , for a 2frames sid, like

jsr$1003
jsr$1003
rts

without giving the time between the 2 frames like in goattracker, the result is to play only every first frame
of the wavetable,
eg
41 00
41 0C
ff 00

only 41 00 will be played. (i think this is the problem...i'm not a coder)
so multispeed songs, saved to sid, sounds like played as singlespeeder, but with correct songspeed.
2009-12-23 09:21
cadaver

Registered: Feb 2002
Posts: 1153
The calling interval of playroutine should be correct (because GT2 adds an init code to adjust CIA timer speed) but there may be small timing differences that result to the note starts being different. Fiddle with the buffered writes -option and see if it helps.

Typically, when using normal "hard" hardrestart in a 2x speed song (if you adjust the gatetimer value to 2x compared to the singlespeed value, so 4 default) the first wavetable row *should* be inaudible.
2009-12-23 23:27
pvcf

Registered: Feb 2005
Posts: 18
ho cadaver,

i did'nt understand you right; the problem which i found:

in goattracker itself it sounds fine and mulitspeed worked perfektly as it shoult,

BUT if i export the song to sid-format, just for listening in acid64 or sidplay, the problem occours ;(

so its the exporter which doesnt handle the cia-timer correctly, shell i make a example for you, so that you can hear the problem?

ps.: thanx for taking care 8)
2009-12-24 11:55
cadaver

Registered: Feb 2002
Posts: 1153
Yeah you can make an example, but I'm 99% sure it's due to small timing differences: when GT2 editor writes to reSID to achieve sound output, it doesn't take the actual C64 playroutine code, and how many machine cycles that takes, into account. It just assumes a fixed amount of cycles between each SID write.

So, if you depend on things that are timing-sensitive, it's only after exporting you get to know how exactly the song sounds like, and in that case the editor is "wrong".

If the exported song didn't set up the correct CIA timer value, you wouldn't even hear the song played at correct tempo.
2009-12-27 02:21
pvcf

Registered: Feb 2005
Posts: 18
hey cadaver, i tried to make a demo, but i found out that the bug is gone... (1) tested it with 2.67 and 2.68.
but there is a other problem, please listen to 2xsnare.mp3 and 2xsnare.sid,
mp3 is recorded direct out of goattracker (recordet on hardsid-pci with an old sid).
the high-claves sounds very bad in the exported sid.

second thing (its not a major one): pls listen to aah_test.mp3 vs the aah_test.sid,
the mp3 is exact at the same freq-shift like the goattracker, where is it from recorded.
(hardsid pci) and if i play it from acid64 or sidplay2 the frequnce table seems to be shifted up
a halftone.
(maybe thats the same probleme like in the 2xsnare where i used ringmodulation...?)
http://www.reflex-studio-storage.com/temp/freq_bug.zip (526kb)

(1) since i have plugged a 6581 instead of my good 8580 ... wtf... i'll check it later again with new sid model.

edit...

after on more test:
if i export the 2xsnare after loading the song WITHOUT press play, the exported sid and the claves sounds exactly like in goattracker.
if i start the song in goattracker, press stop, go on export, the sid sounds bad like the one in the package...

can you second this behavior ? (v2.68)
2009-12-27 08:58
cadaver

Registered: Feb 2002
Posts: 1153
Hardsids operate on a different frequency than a C64, therefore the tuning will be different.

As for playing/stopping affecting the exported output, couldn't reproduce.
2009-12-27 23:14
pvcf

Registered: Feb 2005
Posts: 18
Quote:
Hardsids operate on a different frequency than a C64, therefore the tuning will be different.


thanx for testing 8)
and why hardsid sound different in goattracker+hardsid and acid64+hardsid and sidplay+resid (acid64+hardsid and sidplay+resid have the same tuning) ?
2009-12-28 04:50
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
pvcf: you are forgetting what i told you...

a .sid needs installed code to do the CIA timer stuff, so it will be multispeed.
2009-12-28 04:52
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
Quote: Quote:
Hardsids operate on a different frequency than a C64, therefore the tuning will be different.


thanx for testing 8)
and why hardsid sound different in goattracker+hardsid and acid64+hardsid and sidplay+resid (acid64+hardsid and sidplay+resid have the same tuning) ?


uh what ? :D

HardSID runs at 1.0 Mhz, not 0.987.... like C64
so hardsid tunes are in fact all playing too fast!
2010-02-10 21:53
McMeatLoaf

Registered: Jan 2005
Posts: 105
I only have one thing on my wish list:
- To be able to change the freq tables.
What I'm talking about is, being able to use different freq tables than the default A440 (on PAL), and instead being able to use e.g. "A440 on NTSC" (like in the PRG), like most oldskool stuff ;).
Or perhaps why not A429 on PAL? Stuff like that.
I would really, really appreciate a function like that.
On the other hand, I *could* change the freq tables afterwards, by hand, using a hex editor, but that's _very_ time-consuming.
2010-02-24 14:09
booker
Account closed

Registered: Jul 2003
Posts: 333
Quoting Jan Harries
uh what ? :D

HardSID runs at 1.0 Mhz, not 0.987.... like C64
so hardsid tunes are in fact all playing too fast!
\
That's a pitty.
2010-03-18 13:33
booker
Account closed

Registered: Jul 2003
Posts: 333
Any chance to include C64 font in GT?
2010-03-18 13:41
Jammer

Registered: Nov 2002
Posts: 1289
Quote: Any chance to include C64 font in GT?

i don't think so ;)
2010-03-18 14:15
booker
Account closed

Registered: Jul 2003
Posts: 333
Quote: i don't think so ;)

Well... ok. Sourcecode is there. I guess.
Gotta find some friendly coder and buy few beers.

Heck, C++? Will booze myself and hack da thing!
2010-08-01 09:15
Conrad

Registered: Nov 2006
Posts: 833
On odd times, Version 2.7 seems to crash after it's been running for a bit. Nothing serious though because you can still save your work... something to do with the audio driver maybe?
2010-08-01 10:52
cadaver

Registered: Feb 2002
Posts: 1153
Some time ago I changed the sound buffer update logic to get rid of clicks caused by sometimes producing too few samples. So maybe it now produces too much, causing a buffer overflow (there should be checks, but you don't know of what reSID might do...)

If you want to be ninja, you could try compiling revisions from the svn (look for changes to gsid.cpp and gsound.c) and see when the crashes started.

GT2 should probably transition to cmake based build at some point so I could also build on MSVC and debug better...
2012-01-30 12:04
Peacemaker

Registered: Sep 2004
Posts: 243
Hello,
i am working with goatracker and would need some help. want to create a certain bass. i tried to rebuild it for hours without any luck. maybe someone of the aces here want to help me? i would be realy thankful.

contact me via PM here and leave your icq/skype etc number and i ll contact you.

thanks
2012-12-03 06:36
la_mettrie

Registered: Feb 2012
Posts: 21
One rather small thing which has been annoying me is that time counter is reseted after stopping the song. I always forget to watch how long the song was X)

(my version is 2.70)
2013-07-27 07:46
taaadpole
Account closed

Registered: Jan 2011
Posts: 6
I've got detune going, using the 1-frame portamento command in the wave-table method.

It works great, as long as I'm not using the 3xx command for portamento. As soon as I use portamento, the note goes back up to normal pitch (no detune).

Is there a way to get the detune + portamento at the same time?
2013-07-27 08:03
Hein

Registered: Apr 2004
Posts: 933
Quote: I've got detune going, using the 1-frame portamento command in the wave-table method.

It works great, as long as I'm not using the 3xx command for portamento. As soon as I use portamento, the note goes back up to normal pitch (no detune).

Is there a way to get the detune + portamento at the same time?


You can try to use command 8xx pointing to your 1-frame portamento command, right after your 3xx command is finished.
2013-07-27 17:07
taaadpole
Account closed

Registered: Jan 2011
Posts: 6
Thank you, Hein. Got it working. Only thing is, it doesn't work when the 8xx command is in the very next row after the portamento command. For some reason, there has to be an empty row of commands after the portamento, then the 8xx command.
2013-07-27 19:13
Hein

Registered: Apr 2004
Posts: 933
Maybe because of the mechanism in the play-routine. I think Cadaver included alot of optimisation tricks (for minimum rastertime), it might be so that the tone-portamento is still running one frame into the next tick, not triggering the instrument command on that tick.
2013-08-11 20:47
tlr

Registered: Sep 2003
Posts: 1714
Is there any later build than 2.68 for osx?
2013-08-11 20:48
FATFrost
Account closed

Registered: Sep 2003
Posts: 211
I once found a port of 2.72, but cannot find it anymore, it was unnoffical.
2013-08-12 17:07
tlr

Registered: Sep 2003
Posts: 1714
There's apparently a branch here: http://sourceforge.net/p/goattracker2/code/126/tree/goattrk2/br..

Unknown (to me) state and no binaries.
2013-09-06 16:31
Yzi
Account closed

Registered: Sep 2011
Posts: 6
There's no fully working 2.72 for Mac. Even the latest changes left some funny Mac-specific bugs. For example, pressing Alt+Fn+Backspace not only inserts stuff, it also moves to the previous pattern number, which essentially renders the function unusable, except when editing pattern number 0. Or something.

Here's an unofficial compiled 2.72 Mac version, a couple of years old. It does contain unfixed bugs and may do funny things. I take absolutely no responsibility for it, and I will not start bug-fixing it even if you find bugs. :) Though if you do find bugs, please describe them and submit the descriptions somewhere.
http://www.kameli.net/~yzi/GoatTracker_Mac_2.72.zip
2013-09-06 20:00
Frantic

Registered: Mar 2003
Posts: 1627
@tlr: Hehe.. now that was easy! I checked out the sources, opened the xcode project by clicking on it, and then clicked the "Build and Run" button, and voila! :D Can't remember when something compiled that easily (and quickly!) last time. :D

Haha..
2013-09-07 07:09
tlr

Registered: Sep 2003
Posts: 1714
@yzi: Thanks for the binary, I'll try it out.
@frantic: So what's broken and can it be easily fixed?
2013-09-07 12:36
Frantic

Registered: Mar 2003
Posts: 1627
@TLR: Not sure. I've never used the program before so I don't find my way around, so to speak, and nothing to compare with.
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
jmin
Didi/Laxity
Matt
algorithm
E$G/hOKUtO fOrcE
serato/Finnish Gold
Mibri/ATL^MSL^PRX
Guests online: 138
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Wafer Demo  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.3)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 3.217 sec.