Jump to content
IGNORED

[RELEASE] RASTER Music Tracker, v1.34.00


VinsCool

Recommended Posts

Here's doremi for testing ;)

 

Even if I manually edit the ratios, it has no effect. And Reset doesn't reset the ratios either.

 

doremi.rmt

 

Edit: BTW it is very loud on stdout (that rhymes!). It is constantly printing decimals.

Edited by ivop
  • Like 1
Link to comment
Share on other sites

2 hours ago, ivop said:

Yes, also meant the sound. The test button does nothing, and neither does OK. That's a pity, because of the harmonies, I was very interested how Lullaby would sound in a different temperament.

Weird... I hope my large cleanup between 1.33BETA and 1.34 didn't break something.

 

I could have sworn Tuning still worked perfectly fine for me last time I tried it, which I am 100% sure I have used a few times with the latest RMT builds, including several things not yet released from as late as last week...

 

Is it only the Temperament/Ratio that isn't working?

I think I may have missed a couple things and either didn't notice or didn't pay attention to it.

Because as far as I remember, Base pitch, base key, and the test buttons all worked for me, but I haven't actually used anything related to temperament now that I think about it again...

 

If you save a tuning, if you press escape, then play again, does it "update" itself at least?

Because it definitely should reset when the configuration was overwritten.

If not, that is definitely not normal, and I will have to check what I did wrong with this the next time I go play in the RMT code.

Link to comment
Share on other sites

54 minutes ago, ivop said:

Here's doremi for testing ;)

 

Even if I manually edit the ratios, it has no effect. And Reset doesn't reset the ratios either.

 

doremi.rmt 109 B · 1 download

 

Edit: BTW it is very loud on stdout (that rhymes!). It is constantly printing decimals.

Do you also set the temperament to "Custom"? 

It will be ignored otherwise, but I know this is rather bad design on my behalf.

For my defense, it was the first time I ever coded an entire dialog box with class and functions linked to it, so I apologise for anything implemented incorrectly ?

 

Also what do you mean on the second statement? 

do you mean the frequencies displayed in the POKEY registers display block on the right side?

Link to comment
Share on other sites

14 minutes ago, VinsCool said:

Do you also set the temperament to "Custom"? 

I did not at first. After I did, it started to work. And all the presets that did not work before, magically started to work :)

Quote

It will be ignored otherwise, but I know this is rather bad design on my behalf.

For my defense, it was the first time I ever coded an entire dialog box with class and functions linked to it, so I apologise for anything implemented incorrectly ?

No problems there imho, but it could be clearer that the ratios displayed are the custom ratios. But before I tried custom ratios, none of the presets worked. That was my point, which is hopefully clear now :)

Quote

Also what do you mean on the second statement? 

do you mean the frequencies displayed in the POKEY registers display block on the right side?

No, that's cool. I meant the output to the console.

01800180018001800180018001800180018001800180018001800160016001600160016001600160016001600160016001600160016001600160016001600160016001600143014301430143014301430143014301430143014301430143014301430143014301430143014301430127012701270127012701270127012701270127012701270127012701270127012701270127012701270127012001200120012001200120012001200120012001200120012001200120012001200120012001200120024102410241024102410241024102410241024102410241024102410241024102410241024102410241021 etc.....

 

Edited by ivop
Link to comment
Share on other sites

1 minute ago, ivop said:

I did not at first. After I did, it started to work. And all the presets that did not work before, magically started to work :)

Hmmm that is still not right, things really should always work, not become magically triggered.

5 minutes ago, ivop said:

No problems there imho, but it could be clearer that the ratios displayed are the custom ratio. But before I tried a custom ratio, none of the presets worked. That was my point, which is hopefully clear now :)

The idea was to dynamically update this with the ratios given by presets or custom fractions, but that wasn't yet finished, so as a result only custom ratios (being used or not) are shown currently.

This is more of a "not sure how" than "felt lax and didn't bother" kind of situation, don't worry about it :P

 

8 minutes ago, ivop said:

No, the output to the console.

Oh, I see.

I never actually used the console, so now I am not even sure of what is even supposed to be displayed there, lol

?

Link to comment
Share on other sites

11 minutes ago, VinsCool said:

Hmmm that is still not right, things really should always work, not become magically triggered.

Okay, I tried to replicate it with a clean RMT 1.34 install in a different directory. And failed. It worked immediately. Today, I cannot replicate what happened yesterday. So, best to leave it for now unless a second report comes along, and improve the dialog instead :)

Quote

The idea was to dynamically update this with the ratios given by presets or custom fractions, but that wasn't yet finished, so as a result only custom ratios (being used or not) are shown currently.

Yeah, that would be cool. And once you start editing a preset, it becomes the custom tuning. Loading and saving custom tunings would also be nice. Cool to hear the different temperaments right now!

Quote

I never actually used the console, so now I am not even sure of what is even supposed to be displayed there, lol

?

Nothing :) There is probably a stray cout or printf in there somewhere.

Edited by ivop
clarify
  • Thanks 1
Link to comment
Share on other sites

35 minutes ago, ivop said:

Okay, I tried to replicate it with a clean RMT 1.34 install in a different directory. And failed. It worked immediately. Today, I cannot replicate what happened yesterday. So, best to leave it for now unless a second report comes along, and improve the dialog instead :)

Uh, interesting!

I guess it never hurts to reset the configuration when some weird stuff happens.

Glad to know this may have been a isolated case, because it surely sounded like it to me! Haha

 

36 minutes ago, ivop said:

Yeah, that would be cool. And once you start editing a preset, it becomes the custom tuning. Loading and saving custom tunings would also be nice. Cool to hear the different temperaments right now!

Yup, that is precisely the idea I have in mind.

See the current implementation more as a proof of concept than its definitive form.

I have a lot of ideas in mind for the future, and tuning is a big element that is part of it!

Think of custom temperaments, ratios, load and save support, custom tables generation, also with load and save support, etc...

You name it! There is a lot of room that could be rented for creativity, and I am all for sponsoring that event when it does happen sometime in the future when my coding skills improve further.

 

41 minutes ago, ivop said:

Nothing :) There is probably a stray cout or printf in there somewhere.

Ahhh, I see.

That makes sense I suppose ?

 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Thanks!

A lot more is also in the work for some time now.

 

While I have not yet done a lot on the bigger features, I was personally experimenting with UI changes during my free time, or when I actually feel like working on it, hopefully to allow more customisation flexibility in the future for how the entire interface is rendered.

At the moment I only did a few things such as implementing a way to display patterns in a different structure, including drawing track and songlines from previous and future patterns in 1 view, as well as adding support to let patterns scroll smoothly during playback, and also trying to fix long lasting issues such as unstable display, better framerate, etc.

Also a big thanks to the time and dedication from @RetroCoder who recently joined forces to the project, and has been working re-structuring the entire codebase, something I believe will greatly benefit everyone who might want to contribute to improving RMT further :) 

Things are currently work in progress still, but commits are being pushed often with the newest changes, so be sure to keep an eye on the git repository often, since releases are not necessarily going to be regular, depending on what is being edited.

 

  • Like 2
Link to comment
Share on other sites

Greatest respects to Raster, without his work, I probably wouldn't have learned how to code at all, or even have had the motivation to work on music creation tools at all. 

I dare to say, without his legacy, I probably wouldn't be around here in the first place.

Rest in Peace, and thanks for everything! ?

  • Like 7
Link to comment
Share on other sites

It has been great fun going through the code and figuring out how it works.  Some parts make me wonder is the original base of the software came from another platform, maybe Amiga or Atari ST, or Raster had some exposure to code bases there and used the conventions from those platform. Fun, fun, fun :)

  • Like 1
Link to comment
Share on other sites

In the old player you just change the code that writes to AUDCTL. I assume that it would be as easy to do in the new versions.

Normally there is only one write to the hardware registers at the end of the RMT code.

To implement APAC with IRQ's and play RMT music at the same time for example.

I suppose the RMT player's code could have a generic "AND mask" and a generic "OR mask", so a user could clear or set specific AUDCTL bits. Don't know if that is what you need :)

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, tebe said:

Is it possible in RMT to force specific bits of the AUDCTL register to be set ?

 

Example: bit0 locked to 1, bit3 locked to 0

 

The use of IRQ interrupts enforces such restrictions on AUDCTL.

Yes, it is possible, it would involve a AND mask as said above pretty much, so a small change in the RMT driver code would do the trick.

It depends how exactly it would need to be set up exactly.

From the tracker itself it could be even easier to make it work, if the data wanted is registers dump, since it is technically possible to have full control over the POKEY registers.

Link to comment
Share on other sites

8 hours ago, VinsCool said:

Yes, it is possible, it would involve a AND mask as said above pretty much, so a small change in the RMT driver code would do the trick.

It depends how exactly it would need to be set up exactly.

From the tracker itself it could be even easier to make it work, if the data wanted is registers dump, since it is technically possible to have full control over the POKEY registers.

Such a change is about the 'tracker', improving the 'player' is the easiest.

  • Like 1
Link to comment
Share on other sites

2 hours ago, StaxX28 said:

Hi Vinscool,

 

First of all, thank you for your efforts to improve RMT. ;)

Hi there, thanks a lot!

 

2 hours ago, StaxX28 said:

One thing that really annoys me about RMT is that it only supports QWERTY keyboard layout.

Please could you add support for AZERTY keyboards ?

...It is not already supported? I've never been aware of this, honestly.

I could have sworn this never was an issue, since I don't recall anyone mentioning this being a problem until today 😰

 

I'm definitely going to try fix this as soon as possible, this is simply not okay for the people with a different keyboard layout. 

Personally, I am a QWERTY keyboard user over here, but I may be able to get things to work using a virtual keyboard.

 

Thanks for pointing this out, I was just about to load up my Virtual Machine to work some more on the things I was doing since the last couple days, but I think this deserves more attention now.

Please let me know if there is anything else you noticed that isn't right. I am aware there are plenty of things to work on, a several things are also caused by my own code changes, so the sooner I know, the better :) 

 

Thank you! 

 

[EDIT]

Okay, I've found a solution, it turns out it will be really, really simple :) 

Having a way to automatically detect a configuration would be even better, but at least, having the ability to chose a "proper" layout would do the trick for now.

I can add more than 1 layouts, too, so AZERTY and more uncommon layouts can be added the same way.

Edited by VinsCool
More infos
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Okay so I've got a little creative and recycled an older option that had no use anymore for a while, perfectly suited for this one :) 

Hopefully this will solve the keyboard issues.

More layouts could also be added the same way if there is any demand for it.

 

image.thumb.png.f8497926776a6437d8fd99e3e3511169.png

 

I will need to get someone with a real AZERTY keyboard to test it for me, but hopefully if I did it correctly, the layout should be fully functional as far as I was able to test it myself with the new option.

I'll commit those changes to the repo in a bit, once I save the project and push the commit.

  • Like 2
Link to comment
Share on other sites

Hi Vin, 

Sorry I've been at a commission for a while I've been in the hospital for 7 weeks with a heart issue. I'm still having some difficulty with the filter synth sound it drops out an awful lot even when I use the trick of 6 control and the 1 / FF.

Is there any way to fix this issue cuz it has broken a few of my songs because of it?

Seems to be a lot of phase cancellation with this issue to the point of where if I have the filter synth it will just drop out all the sudden as if it had another filter since playing on the same side with the same note. I know it's not a great example, but it's the best I could think of to describe what's going on.

Edited by Kjmann
Link to comment
Share on other sites

11 hours ago, StaxX28 said:

Thanks for taking care of this issue ;)

You're welcome! :D 

 

11 hours ago, StaxX28 said:

One detail I forgot to mention:
Keyboard shortcuts work in AZERTY (CTRL+A, CTRL+W, etc).

Only the notes are impacted, for example, when I press "W" I get a D2 instead of C1.

Yup, I was aware of this as soon as I gave it a look yesterday.

It turns out you were 100% correct, before these changes, notes were mapped in a way that always assumed a QWERTY keyboard was used.

 

I solved the issue with the notes input simply by creating a new table of specifically designed for AZERTY, and I left the original table unchanged since it already took care of QWERTY.

After that, I edited the configuration to make sure it remembered which keyboard layout is being used, which could be changed from the RMT Configuration dialog at any time if wanted.

Depending on which keyboard layout is chosen, it should now always return the appropriate note when a key is pressed.

 

10 hours ago, Kjmann said:

Hi Vin, 

Sorry I've been at a commission for a while I've been in the hospital for 7 weeks with a heart issue. I'm still having some difficulty with the filter synth sound it drops out an awful lot even when I use the trick of 6 control and the 1 / FF.

Is there any way to fix this issue cuz it has broken a few of my songs because of it?

Seems to be a lot of phase cancellation with this issue to the point of where if I have the filter synth it will just drop out all the sudden as if it had another filter since playing on the same side with the same note. I know it's not a great example, but it's the best I could think of to describe what's going on.

Hey man, nice to see you again!

I remember seeing you posting health updates on Facebook recently, I hope you're doing better now 😅

 

Interesting coincidence about the filter, I had the exact same question asked to me earlier so I'll copy and paste the detailed reply to save myself some time, haha:

 

Spoiler
Quote

Fragmare — Today at 15:36
the whole needing to do cmd6 x/y 0/1 was throwing me off in 15khz, filter mode
VinsCool — Today at 15:36
yeah that's part of a controversial change I did in the RMT driver
Fragmare — Today at 15:36
i mean, the 0/0 sound is neat.  it could work for some stuff
i'm glad it's there
VinsCool — Today at 15:36
you lose the "instant" SID like sound, but gain a HUGE amount of control over the pulses that way
basically the "additive" CMD6 effect is replaced by a "absolute" offset value
Fragmare — Today at 15:37
sounds kind of "needle pulsey"
VinsCool — Today at 15:37
and start at a frequency of 00, so the 2 channels are identical, which upon initialisation, make the waves very thin
yeah
Fragmare — Today at 15:37
like the pulse is just a thin spike
VinsCool — Today at 15:38
simply set the first tick to a CMD1 $00, with at least 1 unit of volume to make it "copy" the frequency to the second channel, and the next frames you can modulate the pulse with CMD6 $XY with nearly absolute control
which is by far, much easier than the "2 instruments method" that is still superior, but also much more difficult to master
VinsCool — Today at 15:39
the first tick is totally optional, but you get very "unpredictable" pulses otherwise
I should make a demo module to show what I mean using 2 example instruments, haha
Fragmare — Today at 15:40
i just wanted the pokey WREEEEEEEEEEEEOOOOOOOWWWWWWWMMMMMM sound back  😂
VinsCool — Today at 15:40
if you want the Filter to sound exactly like it was, set all ticks to CMD6 $01
that will reproduce the exact same "default" state
Fragmare — Today at 15:40
yea, that's what i did
VinsCool — Today at 15:40
good 🙂
that's the only recent "controversial" driver change I did so far
everything else should virtually work exactly like before
Fragmare — Today at 15:41
cool
VinsCool — Today at 15:41
that change was a personal choice I made, because in the long run it lets you make much better modulation without the necessity of 2 instruments
basically all modules that used the old filter method, to "patch" them, set the CMD6 to $01 and that will make them sound exactly like they did
and if they used the envelope to loop the "additive" CMD6... well you're kinda left to edit it to a slightly different way but the idea remains the same

 

TLDR: AUTOFILTER code changed, just needs a slightly different approach to modulate it.

 

Link to comment
Share on other sites

Hello Vin

 

Does this mean that RMT now supports QWERTY and AZERTY keyboards only?  The Germans for instance use QWERTZ keyboards and there's probably a couple of other variations too.

 

Isn't there a way to support all keyboards, without adding in every variation keyboard one by one?

 

Sincerely

 

Mathy

 

Link to comment
Share on other sites

13 minutes ago, Mathy said:

Does this mean that RMT now supports QWERTY and AZERTY keyboards only?  The Germans for instance use QWERTZ keyboards and there's probably a couple of other variations too.

Yes, for now, AZERTY and QWERTY only, but the change was made so more layouts like QWERTZ can and will be added very easily :) 

 

14 minutes ago, Mathy said:

Isn't there a way to support all keyboards, without adding in every variation keyboard one by one?

I have no idea, but if anyone knows, please let me know! I would be happy to make it work that way.

To be honest, having to add a couple variations manually isn't too bad compared to being stuck with 1 layout that may not work properly for everyone.

I only need to do it once for each layout, after all :) 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...