News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Targhan

Arkos Tracker 2 - Released!

Started by Targhan, 14:38, 05 November 17

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

tastefulmrship

I do have a version of "Cocio & Finsprit" that supports multiple AYs (via the beta AT2) but I think most people would not be interested in it! ^_^
I was going to use AT1 and SyX's plAycity code, but I am lazy and not very good at Z80 coding!


Arnaud

#176
Just played with it and i tried to load CHP musics converted by CNGSoft.
It works pretty well and it's really nice to see how the those great tunes were done  :)

Targhan

The CNG Soft format is really different, so the import is "best effort". Drums for example are not well managed during the import (most of the time, simply modify the instrument to remove the "sound" (type of sound = 0)).
But this should be enough to finish a song made with Chip'n'sfx, into AT2 (which is the purpose of the imports).


Did you like the new UI better (with the VuMeters besides the Linker)?


In the next version, the Expressions (Arpeggio/Pitch) will be removed and put at the same level as the Pattern Editor/Instrument Editor, which will save even more space.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Arnaud

Quote from: Targhan on 21:07, 11 November 18
Did you like the new UI better (with the VuMeters besides the Linker)?

Yes it's really better, there is more room for the pattern editor.
Now i have to see how works the new export, if i understand there is configuration file to include in the compilation ?

Targhan

QuoteNow i have to see how works the new export, if i understand there is configuration file to include in the compilation ?
Yes, everything is explained on this page. But be aware that you don't HAVE to use it if you don't want to (so, there is nothing to do). But it would be a shame not to use it, this really saves quite a lot of memory on the AKG/Lightweight players.


This also requires Rasm, unless you assembler accept the same IFDEF mnemonic (for compatibility tricks, check here).
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Arnaud

Hi,i just try the new LW player with configuration file and i have now 147 more free bytes !
Nice job.

Targhan

Not bad, but I expected something better. I made a test with both your songs (since you sent them to me :)), and I won #10f bytes (271) from the player, which is better. How did you calculate your 147 free bytes?
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Targhan

I see that your are using volume effects. Since you're using only a bit of them, you would optimize a lot by removing all the volume effects and duplication/modifying your instruments, applying the required volume to them. This way, all the effect management code would be ditched, it would save a lot of memory from the player.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Arnaud

Quote from: Targhan on 23:27, 15 November 18
Not bad, but I expected something better. I made a test with both your songs (since you sent them to me :) ), and I won #10f bytes (271) from the player, which is better. How did you calculate your 147 free bytes?
It's the usable free memory, the full gain (code optim + better music generation) is ~370bytes
Quote from: Targhan on 10:05, 16 November 18
I see that your are using volume effects. Since you're using only a bit of them, you would optimize a lot by removing all the volume effects and duplication/modifying your instruments, applying the required volume to them. This way, all the effect management code would be ditched, it would save a lot of memory from the player.
I have to remove the modification of the volume in each instrument (in volume column next to noise column ?)  and set to a fixed value or it's a specific effect ?

Targhan

No, remove the use of the volume effect in the patterns (V effect). Then in the generated "config" file, you won't see the "useEffects" line. The gain is quite substantial.
And obviously, lower the volumes of your instruments instead (the "volume" column besides the "noise" column).
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Arnaud

#185
Quote from: Targhan on 12:30, 17 November 18
No, remove the use of the volume effect in the patterns (V effect). Then in the generated "config" file, you won't see the "useEffects" line. The gain is quite substantial.
And obviously, lower the volumes of your instruments instead (the "volume" column besides the "noise" column).
I tried to remove the volume effect, but it doesn't work very well because i haven't succeded to apply correctly the same volume drop for all instruments.

Is there a way to apply a volume overall to a song as do with speed ?

Targhan


Quote>I tried to remove the volume effect, but it doesn't work very well because i haven't succeded to apply correctly the same volume drop for all instruments.

It shouldn't be very hard, if the volume is E, decrease each line of your instrument volume of 1. D = 2, and so on...


No, there isn't a way to decrease the song volume, but you can do it programmatically quite easily. AFTER initializing the song, you can set in labels:
PLY_LW_Track1_TrackInvertedVolume / PLY_LW_Track2_TrackInvertedVolume / PLY_LW_Track3_TrackInvertedVolume
how many volume step to decrease. This will not affect the sound effects.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Arnaud

Quote from: Targhan on 15:48, 18 November 18
It shouldn't be very hard, if the volume is E, decrease each line of your instrument volume of 1. D = 2, and so on...
The volume of the track is 9 then i have to drop the volume of each instrument of 6.
How to handle the case of instrument with volume droping from F to 0 or volume < 6 ?

Quote from: Targhan on 15:48, 18 November 18
No, there isn't a way to decrease the song volume, but you can do it programmatically quite easily. AFTER initializing the song, you can set in labels:
PLY_LW_Track1_TrackInvertedVolume / PLY_LW_Track2_TrackInvertedVolume / PLY_LW_Track3_TrackInvertedVolume
how many volume step to decrease. This will not affect the sound effects..
It could be a good solution.

Targhan


QuoteHow to handle the case of instrument with volume droping from F to 0 or volume < 6 ?
Unless I don't understand, simply make your instrument volume go from 9 to 1. This will even save a bit of memory :)
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Arnaud

#189
Quote from: Targhan on 17:32, 18 November 18
Unless I don't understand, simply make your instrument volume go from 9 to 1. This will even save a bit of memory :)
Oh yes, simply  :D

Arnaud

Quote from: Targhan on 15:48, 18 November 18
It shouldn't be very hard, if the volume is E, decrease each line of your instrument volume of 1. D = 2, and so on...


No, there isn't a way to decrease the song volume, but you can do it programmatically quite easily. AFTER initializing the song, you can set in labels:
PLY_LW_Track1_TrackInvertedVolume / PLY_LW_Track2_TrackInvertedVolume / PLY_LW_Track3_TrackInvertedVolume
how many volume step to decrease. This will not affect the sound effects.

As always i'm looking for memory, so i'd to try this solution,
in Arkos2 player i found PLY_LW_Track1_TrackInvertedVolume in ;Data block for channel 1.:but i haven't found PLY_LW_Track2_TrackInvertedVolume or PLY_LW_Track3_TrackInvertedVolume  in;Data block for channel 2 or 3:
How set volume for channel 2 or 3 ?

Targhan

That's because the other "track data items" are not declared, as they are always the same, relative to the beginning of the "track data".


Simply do:
InvertedVolume1 = PLY_LW_Track1_Data + PLY_LW_Data_OffsetTrackInvertedVolume
InvertedVolume2 = PLY_LW_Track2_Data + PLY_LW_Data_OffsetTrackInvertedVolume
InvertedVolume3 = PLY_LW_Track3_Data + PLY_LW_Data_OffsetTrackInvertedVolume

But this "channel" volume technique may not save you memory. The "decrease the instruments volume" technique saves a few bytes (the sounds are shorter)... unless you have to duplicate the instruments! In which case, yes, the technique above will be more interesting, memory-wise.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Rhino

Hi Targhan,Congratulations on your great work!
In order to make the source code compatible with Maxam (WinAPE assembler), it would be good to do some small modifications:

* ;; instead of ; in the comments to be able to use : in the comment
* LET before assembly variable assignments (e.g  LET PLY_CFG_UseHardwareSounds = 1)
* remove : before EQU
* out (c),0 is not supported, use db &ed,&71 ;; out (c),0
* and possibly something else...

Targhan

#193
Thanks. You can, to some extend, change the syntax of the generated music via File > Setup > Source profiles.


However, this won't address your problem with the players. I do not target Winape because I need the comfort/features of more elaborated assemblers, such as Rasm or SJasmPlus. So you will have to correct the player for your needs (which is why the sources are provided :) ), or use another assembler. Plus, the parenthesis and multiplication / division order will not work with Winape. Sorry but I won't go back to this assembler.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

mr_lou

Ah, Christmas morning. Finally had some time to take a look at Arkos Tracker 2 on my Ubuntu box.

Not trying to ruin your Christmas here (and I know I can't, so no worries), but I gotta say first impression isn't that great.  :(
I haven't read through this thread, so maybe someone has already given similar feedback, I dunno.

The most important thing for me when tracking is to be able to keep the flow. So I want the application to be customizable to the keys I'm used to working with. Such as SPACE to stop the track playing, and SPACE to toggle record mode, CTRL to start the track, SHIFT+F4 to copy a track etc etc.

While you did include a way to define keys, I still can't define them like I want. CTRL can't be mapped. A single key can't be used for two functions. There's no way to copy a track (without marking all the notes first).

This ruins the flow for me, and I just can't work with that.

It also annoys me that I can only play instruments if cursor is placed in a certain column of the pattern, or I've select the keyboard at the bottom. Instruments should play regardless of where I'm positioned, but especially when editing an instrument.

So that's my wishlist.  :)

I know you probably won't (be able to) change any of that, but I wanted to give the feedback nevertheless.

Targhan


Thanks for your feedback.


But please try harder :). Many keys can be remapped. Ctrl can not be mapped, this is normal. Do you know any modern application that allows that? This is a modifier, not a key. Copying a track is an oversight, this can be done for later version.


Why would you want two keys to be used in two functions?


My perception is that you're used to DOS trackers, which I never wanted to reproduce. Sometimes because I wouldn't, sometimes because it wouldn't fit a Windows (/Linux/Mac) application.


>It also annoys me that I can only play instruments if cursor is placed in a certain column of the pattern, or I've select the keyboard at the bottom. Instruments should play regardless of where I'm positioned, but especially when editing an instrument.

If you want to test an instrument, use the Test Area (F6). However, you point something interesting. In Record mode, the behavior is right. In non-record mode, you should be able to listen to the instrument. I'll try to change that in the next release.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

mr_lou

Quote from: Targhan on 12:01, 24 December 18Ctrl can not be mapped, this is normal. Do you know any modern application that allows that?

Renoise and Milkytracker, the two trackers I use, both have these keys mapped to that functionality.

SPACE stops the track playing in both trackers. CTRL starts the track playing. Goes for both Windows and Linux versions.

Quote from: Targhan on 12:01, 24 December 18Why would you want two keys to be used in two functions?

Simply because it's what I'm used to. As soon as I have to start thinking about which keys to press, it just takes the fun out of it.

Targhan

I have Renoise, I can not map the left CTRL. The right, yes. But JUCE (the framework I use) does not allow that. Nothing I can do about it, sorry.

QuoteWhy would you want two keys to be used in two functions?
Can you give me an example of what you want to achieve?


It would be a shame not to use AT2 only because of key strokes. This may be not perfect yet, but I'm sure we can reach a compromise somehow :) . But yes, JUCE has some limitations about the keys, which I noticed right from the start.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

mr_lou

Quote from: Targhan on 12:23, 24 December 18
I have Renoise, I can not map the left CTRL. The right, yes. But JUCE (the framework I use) does not allow that. Nothing I can do about it, sorry.

Right CTRL key would be fine. That's how it is in Milkytracker and Renoise too. But I didn't expect it to be able. That's how it always is with new tech. Always something that's no longer possible. That's why I stick with old stuff. ;-)

Quote from: Targhan on 12:23, 24 December 18Can you give me an example of what you want to achieve?

It's just a habit. I'm used to pressing SPACE to stop the track, and then press SPACE again to enter Record mode. It's the flow.
Needing to press anything else - especially if I need to use the mouse - just breaks the flow.

Quote from: Targhan on 12:23, 24 December 18It would be a shame not to use AT2 only because of key strokes.

Except that key strokes are the main thing you use to control everything.

I would have to get used to another way of doing things, like e.g. Enter to start, ESC to stop, SPACE to toggle record mode. Absolutely possible - but I would keep pressing CTRL first every single time. And I'm not a fan of changes. I just don't see the point. Too lazy and too annoying.

A quick search reveals that JUCE has a method called isCtrlDown()[/quote], which I assume could be used to check. But I realize that would require some annoying workarounds in your code to add that.

Targhan

Using CTRL as a primary key is not doable. The link you refer to shows that CTRL can be tested, but only in a specific context: a keystroke. But CTRL is NOT one. CTRL + A (for example) is. Trust me, I tried.


I won't implement double SPACE feature: to me it is not logical that a key has two functions. I can only suggest you learn how AT2 works. I'll try to improve it as time goes, but it is what it is!
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Powered by SMFPacks Menu Editor Mod