xm2esf v1.00 RC2 released

Talk about development tools here

Moderator: BigEvilCorporation

Oerg866
Very interested
Posts: 211
Joined: Sat Apr 19, 2008 10:58 am
Location: Frankfurt, Germany
Contact:

xm2esf v1.00 RC2 released

Post by Oerg866 » Fri Sep 28, 2012 4:53 pm

Hi,

I released xm2esf 1.00 RC2 today... It's been almost a year since I posted an update! I got motivated due to me having to use this program quite intensely, and I got pretty tired by its bugs, so I decided to fix them!

Code: Select all

== <xm2esf 1.00 RC2> ============== 09-28-2012

- Fixed Portamento up / down
- Fixed new notes not triggereing when effects 1xx and 2xx are on the same row 
- Fixed reset volume on note-on
- Fixed conditions for resetting volume on note-on
- Fixed current note value getting updated for 2xx but not 1xx
- Fixed terrible mistakes in portamento 3xx code..... 
  The checks weren't working, the conditions were wrong, 
  I'm surprised portamentos even worked in the first place
- Removed silly hacks 
- Fixed portamentos incorrectly carrying on from a non-slide effect (like arpeggio, vibrato, etc.), 
  taking previous, perhaps uninitialized data as base note
- Fixed program hangs after conversion
- Fixed volume slide effect value actually being ignored
- Fixed volume slide behavior
- Optimized Arpeggio code
- Optimized and fusioned portamento code
- New note code optimized a bit
- Remember & reload instruments when looping
- Fixed pitch related effects not carrying on after empty rows inbetween
- PSG frequencies get initialized by generating them on the fly, instead of loading from an external file
To get started you need loadxm.exe, xm2esf.exe, and xm2esfgui.exe. To use this you need the echo sound engine.

This is THE BEST way to make music for homebrew projects, because all trackers support the MD for the sake of outputting vGM files: Hard to play back on MD, and not very economical either!

Read up!

http://segaretro.org/Echo
http://echo.mdscene.net

XM2ESF download

Chilly Willy
Very interested
Posts: 2816
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Fri Sep 28, 2012 5:42 pm

Great! If you're doing MD music, this really is the best way to go. :D

bastien
Very interested
Posts: 208
Joined: Mon Jun 25, 2007 7:19 pm
Location: Besançon,France
Contact:

Post by bastien » Fri Sep 28, 2012 6:06 pm

Really Nice Update :D !
Did you plan to release an SGDK integration exemple ?
Because i have heard it's quite difficult to use

Oerg866
Very interested
Posts: 211
Joined: Sat Apr 19, 2008 10:58 am
Location: Frankfurt, Germany
Contact:

Post by Oerg866 » Fri Sep 28, 2012 6:14 pm

Hi! My tool only produces the music data for Echo.

Echo has an SGDK integration available here: http://echo.mdscene.net

djcouchycouch
Very interested
Posts: 683
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch » Fri Sep 28, 2012 6:40 pm

bastien wrote:Really Nice Update :D !
Did you plan to release an SGDK integration exemple ?
Because i have heard it's quite difficult to use
Echo itself is pretty straightforward. It's getting formats converted for Echo that takes a bit of effort.

slobu
Very interested
Posts: 84
Joined: Tue Apr 03, 2012 6:02 pm

Post by slobu » Fri Sep 28, 2012 9:43 pm

djcouchycouch wrote:
bastien wrote:Really Nice Update :D !
Did you plan to release an SGDK integration exemple ?
Because i have heard it's quite difficult to use
Echo itself is pretty straightforward. It's getting formats converted for Echo that takes a bit of effort.
So, it isn't as easy as:
going into xm2esfgui
browse for your .XM file
select each XM Instrument and then the Echo Instrument
Hit create .XIF
go to the command line and type xm2esf foo.xif foo.esf

I'm actually asking the question, not arguing :)

djcouchycouch
Very interested
Posts: 683
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch » Sat Sep 29, 2012 12:18 am

it's not a problem with difficulty. It's just a tad tedious and a bit hard to streamline. If you're doing it once, that's fine. Having to do it dozens or hundreds of times as I see myself doing for Goplanes, you get to see the bottleneck. When you're doing it that many times, the chances for human error accumulate fast, which has already happened.

But don't get me wrong, I really like Echo. I'm still using it for Goplanes. I'm certain the tools will get better with time.

bastien
Very interested
Posts: 208
Joined: Mon Jun 25, 2007 7:19 pm
Location: Besançon,France
Contact:

Post by bastien » Sat Sep 29, 2012 5:00 pm

i have a question , why can i made the "List" needed by Echo_init ?

Oerg866
Very interested
Posts: 211
Joined: Sat Apr 19, 2008 10:58 am
Location: Frankfurt, Germany
Contact:

Post by Oerg866 » Sat Sep 29, 2012 6:24 pm

bastien wrote:i have a question , why can i made the "List" needed by Echo_init ?

Code: Select all

InstrumentList:
    Echo_ListEntry EchoSnare      ; $00 [PCM] Snare
    Echo_ListEntry EchoPSG        ; $01 [PSG] Constant ("flat") tone
    Echo_ListEntry EchoLead       ; $02 [FM] Lead
    Echo_ListEntry EchoBass       ; $03 [FM] Bass
    Echo_ListEnd
Then include your instruments like this:

Code: Select all

EchoSnare: incbin sound\snare.ewf
 even
EchoPSG: incbin sound\psg.eef
 even
EchoLead: incbin sound\lead.eif
 even
EchoBass: incbin sound\bass.eif
 even

Initialize echo like this:

Code: Select all

 lea (InstrumentList),a0
 jsr Echo_Init

bastien
Very interested
Posts: 208
Joined: Mon Jun 25, 2007 7:19 pm
Location: Besançon,France
Contact:

Post by bastien » Sat Sep 29, 2012 6:28 pm

thanks a lot i will try that :D
maybe you should add this into the C exemple of the echo website ?

Oerg866
Very interested
Posts: 211
Joined: Sat Apr 19, 2008 10:58 am
Location: Frankfurt, Germany
Contact:

Post by Oerg866 » Mon Oct 01, 2012 5:24 pm

I fixed a memory corruption issue and switched to Freebasic (meaning linux version very very soon)

Oerg866
Very interested
Posts: 211
Joined: Sat Apr 19, 2008 10:58 am
Location: Frankfurt, Germany
Contact:

Post by Oerg866 » Tue Oct 02, 2012 10:12 pm

Image

Oerg866
Very interested
Posts: 211
Joined: Sat Apr 19, 2008 10:58 am
Location: Frankfurt, Germany
Contact:

Post by Oerg866 » Tue Oct 02, 2012 11:20 pm

Code: Select all

== <xm2esf 1.00 RC3> ============== 10-02-2012

- Fixed an issue with the wrong or uninitialized note data as base on portamentos with note-on on the same row
- added license
- Fixed major crash, hang and memory corruption issue, potentially crashing the OS, producing garbled output, etc

! Compiler changed to FreeBASIC 0.24
! Linux version added for xm2esf, loadxm and esfopt

(xm2esfgui for linux coming soon)
Grab everything at http://github.com/oerg866/xm2esf

Chilly Willy
Very interested
Posts: 2816
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Wed Oct 03, 2012 12:26 am

Doesn't work here (32-bit Xubuntu). I get
bash: ./xm2esf: cannot execute binary file
Is it 64-bit or not x86?

Oerg866
Very interested
Posts: 211
Joined: Sat Apr 19, 2008 10:58 am
Location: Frankfurt, Germany
Contact:

Post by Oerg866 » Wed Oct 03, 2012 12:48 am

Ugh. I'm so silly! Yeah it's a 64 bit binary I think, since I compiled it on a AMD64 version of Debian... Crap! Need to grab a VM for this *sigh*

ALSO, when i got proper 32 bit binaries, you might want to run install.sh, preferrably sudo'd, since xm2esf will try to execute loadxm and won't find it if you don't....

Post Reply