Chat

Author Topic: 2 Requests  (Read 8258 times)

Offline jrlepage

  • Jr. Member
  • Posts: 60
2 Requests
« on: December 04, 2012, 11:46:24 PM »
I hear Deflemask 9 is on the way, so I want to squeeze in a couple requests I actually already made in different topics, but which didn't get any attention.

The first is this one, from the Yu-Gi-Oh! cover thread:
Quote
Making this cover made me realise how useful it would be to have a "slide to note" effect (like Famitracker's Qxy/Rxy effects). Also, though less importantly, pitch envelopes would be practical (sort of like a E5xx envelope).
Sometimes 3xx cannot be used for portamento because I want the slide to occur during a single row's time. Right now I use 1xx followed by the target note on the next row, but it's slightly clumsy; besides, the exported NSFs seem to reset the phase every time a pitch slide is turned off (not sure if this is supposed to happen or not), which introduces a pop whenever the target note of the slide is reached. So yeah, something like FT's Qxy/Rxy would be quite handy to have.

As for pitch envelopes, as I said it's not as important, but it would still be something I'd use given the opportunity.


Onto the second request. This one is specifically for the NES:
Quote
Is it possible to add the possibility for more than 12 samples? I think it'd be useful to have the possibility to import chromatic samples (such as bass samples), and having only one octave available is a pretty drastic limitation in this respect. The classic Sunsoft bass is a good example of this being achieved with DPCM. It's cool to have 7-bit PCM over DPCM, but if it doesn't let me do the same things I can with DPCM, then there's less of an incentive to use PCM over DPCM... :(
I think the quote says it all. As far as I'm aware, samples themselves don't add to the size of the NSF since they're not stored, but rather rendered as a series of $4011 writes, so more samples shouldn't be a problem in that respect. Being able to utilise more than twelve samples (and having the ability to map those to whichever note we want, if that's within the realm of possibility) would make this tracker at least ten times more efficient as an NES tracker!

That's pretty much all I wanted to bring up for now. I hope at least some of this can make it into Deflemask 9. I'd be more than happy to beta test these features if you need some testing to be done prior to releasing the final build!

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1809
    • Delek's Website
    • Email
2 Requests
« Reply #1 on: December 05, 2012, 12:07:39 AM »
Q and R are pretty much the same as 3xx effect, I don't know why I should add them, majority of tracker do not have them and they are fine. This stuff are very specific and only a low % of people actually will use them.
About the "pop", if you trigger a new note then both High and Low freq bytes are written, so, yes, a new note will reset the phase. And about the to note in the same row, I don't understand, a portamento to note require 2 notes, if you want to make a portamento to note in the same row then you have to put 2 notes in the same row, impossible, you should change the playback speed to done that with the standard ProTracker Effects.

More than 12 samples is easy to add, however, I will have backward compatibilities issues, because right now A-3, A-2 and A-n will trigger the same samples, but in the future this will no occur. So I will think about it.

Offline jrlepage

  • Jr. Member
  • Posts: 60
2 Requests
« Reply #2 on: December 05, 2012, 12:21:55 AM »
I think I mentioned a very good reason why slide-to-note effects are a good idea, and different from 3xx: you can have a slide that happens inbetween two tracker rows, and that starts on the row it's used on. By its very nature, 3xx requires that a second note be put down in order for the slide to happen; that isn't the case with direct slides like FT's Qxy/Rxy.
No need to enter a new note on the same row: the first parameter (x) dictates the speed of the slide (FT does it by mapping 1 to 1 freq. register value per frame; 2 to 3 values per frame; 3 to 5 values per frame and so forth, but it's an arbitrary solution and another system could be used, really), while the second parameter (y) dictates how many semitones to slide to. See! No need to have 2 notes on the same row if the effect already tells the tracker what note to slide to. It's useful for grace notes and such things that need to happen quicker than a single tracker row. Changing the speed is a viable alternative, but it's really quite clumsy, and messes up the rest of the song (have to make every pattern longer and use D00 on each and every other one of them). Lastly, there is much precedence in FT history that proves this effect is useful and widely used, so I object to the "low % of people will use them".
If it's really that complicated to implement, then all right. But if not, I think there is much to gain and little to lose by adding those direct slide-to-note commands.

Also, is systematically writing to $4003/$4007 on every note mandatory? I don't think Famitracker does it unless it's necessary - at least I never noticed this problem with Famitracker. Might be worth looking into?

As for backwards compatibility... Yeah I can foresee issues with that. Maybe some sort of file version check would sort things out?
« Last Edit: December 05, 2012, 12:23:34 AM by jrlepage »

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1809
    • Delek's Website
    • Email
2 Requests
« Reply #3 on: December 05, 2012, 01:03:10 AM »
Lastly, there is much precedence in FT history that proves this effect is useful and widely used, so I object to the "low % of people will use them".
If it's really that complicated to implement, then all right. But if not, I think there is much to gain and little to lose by adding those direct slide-to-note commands.
I really don't care much the FT history mate :P, check out FastTracker, ProTracker or Renoise history, they are more general trackers widely used with lots of users and they only have "To Note" effect.
And it is not complicated to add, but I prefer to concentrate myself in finish the SID support and the MAC OS Build rather than make DefleMask a FamiTracker clone. I receive lot of request to make DefleMask more similar to a certain tracker, that's because people are accustomed to X way of doing music.

Quote
As for backwards compatibility... Yeah I can foresee issues with that. Maybe some sort of file version check would sort things out?
A file version check will not solve the problem, if a track uses A-0 and A-4 to trigger the same sample then the track will not trigger one or even both of the samples. The unique solution is to clone all the A-X samples to A-1, A-2, A-3... A-n if the version was old. I will do that I think.

Offline jrlepage

  • Jr. Member
  • Posts: 60
2 Requests
« Reply #4 on: December 05, 2012, 01:35:56 AM »
Have it your way then.

Quote
I really don't care much the FT history mate
Just saying, this is really poor argumentation on your part, and I'm a bit disappointed in you. The fact that those other trackers you mention don't have that slide-to-note command doesn't mean it's automatically bad.

Quote
that's because people are accustomed to X way of doing music.
I think habits have little to do with it. If I were a keen Renoise user, then I'd probably make the same suggestion there, if only because having more control over what you do to your notes (which slide-to-note helps achieve) makes a tracker better.

But oh well, you do what you want. I'm just trying to help.
« Last Edit: December 05, 2012, 01:41:04 AM by jrlepage »

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1809
    • Delek's Website
    • Email
2 Requests
« Reply #5 on: December 05, 2012, 01:52:20 AM »
Have it your way then.

Quote
I really don't care much the FT history mate
Just saying, this is really poor argumentation on your part, and I'm a bit disappointed in you. The fact that those other trackers you mention don't have that slide-to-note command doesn't mean it's automatically bad.
I don't said that it is bad please read that again, I said that if I add all of things that are good (TL macro for FM Soundchips, Note Slide, PCM Re-Sampler, drag & drop, etc, etc, etc) I will never finish the next big update. And if I join this idea with the fact that Q and R are not really standard tracker effects, then a "no" pops out. It is a matter of importance and priorities.
I really don't know if you are a programmer, but you should know that it is very difficult to equilibrate request vs what you should do, sorry if I'm doing it bad.

Quote
But oh well, you do what you want. I'm just trying to help.
I know mate, you are one of the users that given to DefleMask the most useful feedback and I really appreciate that.

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1809
    • Delek's Website
    • Email
2 Requests
« Reply #6 on: December 05, 2012, 01:58:13 AM »
Only for curiosity, you can't obtain a speed greater than F with the note slide right? x is for semitones and y for speed.
After thinking and look at the code, I think that this will be trivial to add and will require less than a minute.

Offline jrlepage

  • Jr. Member
  • Posts: 60
2 Requests
« Reply #7 on: December 05, 2012, 02:05:17 AM »
The other way around actually: x dictates speed, y the number of semitones to slide by. Looking at Famitracker NSFs, it looks like this is what happens:

if x=1, slide by 1 freq. register value every frame until the note y semitones away is reached
if x=2, slide by 3 freq. register value every frame until the note y semitones away is reached
if x=3, slide by 5 freq. register value every frame until the note y semitones away is reached
etc.

I wish I could say I know something about programming, but I really don't (not yet anyway). But I try my best to understand the difficulties you (and other similar project leaders) face, and that's why I don't make requests very often (be it here or anywhere else, including Famitracker which my tracker of choice). When I do request something, it's not without careful consideration of whether it's important (read: beneficial to the general quality of the software, and useful to other people than just me) and reasonably feasible (not something I find easy to judge, but I try).

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1809
    • Delek's Website
    • Email
2 Requests
« Reply #8 on: December 05, 2012, 02:07:23 AM »
Ok thanks, then you can't reach the same speed with Q / R in the slide than with 3xx right?

Regarding to the "pop" sound, is only when you trigger a new note or also when you finish the slide with 1 00 or 2 00?
« Last Edit: December 05, 2012, 02:09:32 AM by Delek »

Offline jrlepage

  • Jr. Member
  • Posts: 60
2 Requests
« Reply #9 on: December 05, 2012, 02:09:56 AM »
I suppose you could, depending on the case... But the real difference between Q/Rxy and 3xx is that with the former, the slide can actually begin on the same row as the note it's used on, unlike 3xx which requires a second note in order to slide from the first one to the second (and therefore is less useful for things like grace notes). That's why I think it's beneficial to have both!

As for the pop... hang on, I'll try to replicate it real quick. EDIT: here.
« Last Edit: December 05, 2012, 02:15:09 AM by jrlepage »

kfaraday

  • Guest
2 Requests
« Reply #10 on: December 05, 2012, 02:20:14 AM »
lending solidarity to wanting Qxx and Rxx commands! they are exceedingly different to 3xx from a practical standpoint, even if they essentially do "similar things"

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1809
    • Delek's Website
    • Email
2 Requests
« Reply #11 on: December 05, 2012, 07:09:23 PM »
Well, I finally added Note Slide, they are E1xy and E2xy. They work the same way as they work in FamiTracker, the speed is 4 times the normal portamento to note effect (this is to counter the fact that you have less speed to select)
And I also fixed the phase reset thing, now DefleMask will check every time a new freq is written if it needs or NOT to reset the phase (if it is necessary to write to the full range of the freq).

Offline jrlepage

  • Jr. Member
  • Posts: 60
2 Requests
« Reply #12 on: December 05, 2012, 11:26:26 PM »
This is awesome, thanks a lot Delek!