• New SID to MIDI conversion tool

    From Daniel England@3:770/3 to All on Mon Aug 7 23:31:26 2017
    Heyas!

    I'm pleased to announce that very soon I will be uploading my new SID to MIDI conversion tool onto GitHub.

    If there is anyone else interested in it, I will expedite the process.

    So far, it has these features:

    - Very accurate instrument/patch detection (complex waveform shaping detected) - Very accurate timing reproduction (customisable BPM and Division)
    - Allows for complex MIDI mapping (Drum Mode, Note Mode, Chord Mode)
    - Can output dumps for playback on SID emulation of each instrument/patch or just the filters
    - Open source!

    It is part of my XSID file tool-chain, much of which is already up on GitHub. I
    have created the XSID tools to manage SID files outside of the emulation. An XSID file is already very much like a MIDI file but is for playback on a SID emulator and allows
    for playback without the emulation of the CPU and CIAs.

    I must apologise for the name since I became aware that there is already a C64 composition tool with that name. I just don't have a better one at the moment.

    Also, I must also apologise for the fact that the tools are currently only available on Windows. In theory, I could compile Linux and MacOS versions but I
    am missing a few technical skills required for translating the LibReSIDFP and LibSIDPlay library
    wrappers I've created to GCC and also the time required for actually doing it. I am investigating but it will take a while. I'm very open to help with this.

    Let me know your thoughts!


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Tue Aug 8 12:55:12 2017
    Heyas!

    Well, I thought I might as well upload it now. I had to do the documentation and I wanted to more exhaustively test and add a few features but it functions so I put it up.

    You'll find it at: https://github.com/M3wP/XSID

    At the moment, you will need to use the SID Convert tool to convert the SID files into XSID files. Once I have refactored everything into libraries, I will include this functionality in the XSID To MIDI application.

    At the moment, pulse width and effect changes are not output as controller information in the MIDI files. I will get to that shortly but its only for reference anyway.

    Please let me know about your experience with using the tools and if you find any problems. Any other contributions would also be greatly appreciated.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Andreas Kohlbach@3:770/3 to Daniel England on Tue Aug 8 16:26:06 2017
    On Tue, 8 Aug 2017 12:55:12 -0700 (PDT), Daniel England wrote:

    Well, I thought I might as well upload it now. I had to do the
    documentation and I wanted to more exhaustively test and add a few
    features but it functions so I put it up.

    You'll find it at: https://github.com/M3wP/XSID

    At the moment, you will need to use the SID Convert tool to convert
    the SID files into XSID files. Once I have refactored everything into libraries, I will include this functionality in the XSID To MIDI
    application.

    At the moment, pulse width and effect changes are not output as
    controller information in the MIDI files. I will get to that shortly
    but its only for reference anyway.

    Please let me know about your experience with using the tools and if
    you find any problems. Any other contributions would also be greatly appreciated.

    I always like coding for vintage pleasure. But for MIDI... This is
    probably mainly for folks who want to play SID files on their MIDI
    capable keyboard synthesizers.

    I myself was collecting MIDI files but that stopped in the end of the 90s already. Suppose it's kind of not used much anymore unless you are
    professional musician.
    --
    Andreas
    You know you are a redneck if
    you hammer bottle caps into the frame of your front door to make it look nice.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From J.B. Wood@3:770/3 to Andreas Kohlbach on Fri Aug 11 07:00:22 2017
    On 08/08/2017 04:26 PM, Andreas Kohlbach wrote:

    I always like coding for vintage pleasure. But for MIDI... This is
    probably mainly for folks who want to play SID files on their MIDI
    capable keyboard synthesizers.

    I myself was collecting MIDI files but that stopped in the end of the 90s already. Suppose it's kind of not used much anymore unless you are professional musician.


    Hello, and I've used live MIDI for recording and playing on a digital
    piano for years. Unlike analog recording and playing, MIDI files can be readily edited for note errors, tempo changes, etc. The issue for me
    has been in finding solo piano performances by folks other than myself.
    There's lots of quality classical stuff and ragtime/piano roll
    conversions free for download but not much in other music genres. I've
    also found that the best MIDI files are those captured via live
    performance (on a MIDI-capable piano) rather than composed using digital
    audio workstation (DAW) software. The former captures the
    nuances/keyboard technique of the performer while the latter often has a mechanical sounding quality when played. Just a few thoughts. Sincerely,

    --
    J. B. Wood. e-mail: arl_123234@hotmail.com

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Ian McCall@3:770/3 to Andreas Kohlbach on Mon Aug 14 13:58:14 2017
    On 2017-08-08 20:26:06 +0000, Andreas Kohlbach <ank@spamfence.net> said:

    I always like coding for vintage pleasure. But for MIDI... This is
    probably mainly for folks who want to play SID files on their MIDI
    capable keyboard synthesizers.

    I myself was collecting MIDI files but that stopped in the end of the 90s already. Suppose it's kind of not used much anymore unless you are professional musician.

    It is -massively- used.

    What you're describing is playing via the cheap sound card General MIDI patch-compatible sound cards, like the Waveblaster (Sounblaster with a wavetable synth built in) or similar. But MIDI is sound-independent:
    it's the score, the receipt, not the sound itself.

    I would -love- to have a modern, up to date SID2MIDI. I work in Logic
    on the Mac, run various SID emulation instruments like QuadraSID (now discontinued sadly). If you're starting a remix, you can do a lot worse
    than start from the original MIDI. Feed the original MIDI into a modern emulation and start playing with the sounds - excellent.

    Will take a look. Also holding out hope for a Mac version too if it's
    at all possible.


    Cheers,
    Ian
    --
    Check out Proto the album: <http://studioicm.com/proto/>

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Ian McCall@3:770/3 to Ian McCall on Mon Aug 14 13:59:06 2017
    On 2017-08-14 12:58:14 +0000, Ian McCall <ian@eruvia.org> said:

    But MIDI is sound-independent: it's the score, the receipt, not the
    sound itself.

    Hmm - autocorrect. Meant "the recipe", not "the receipt".


    Cheers,
    Ian

    --
    Check out Proto the album: <http://studioicm.com/proto/>

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Andreas Kohlbach@3:770/3 to Ian McCall on Mon Aug 14 17:04:00 2017
    On Mon, 14 Aug 2017 13:58:14 +0100, Ian McCall wrote:

    On 2017-08-08 20:26:06 +0000, Andreas Kohlbach <ank@spamfence.net> said:

    I always like coding for vintage pleasure. But for MIDI... This is
    probably mainly for folks who want to play SID files on their MIDI
    capable keyboard synthesizers.

    I myself was collecting MIDI files but that stopped in the end of the 90s
    already. Suppose it's kind of not used much anymore unless you are
    professional musician.

    It is -massively- used.

    I didn't doubt that. It's just the casual PC user does not. You need to
    be interested in connecting instruments.

    What you're describing is playing via the cheap sound card General
    MIDI patch-compatible sound cards, like the Waveblaster (Sounblaster
    with a wavetable synth built in) or similar. But MIDI is
    sound-independent: it's the score, the receipt, not the sound itself.

    No, I just mentioned that also casual users - like me - used MIDI back in
    the 90s, before MP3 and higher bandwidth (and Napster ;-) kicked in. I
    say MIDI used by the casual user was quickly abandoned in the very late 90s.

    I would -love- to have a modern, up to date SID2MIDI. I work in Logic
    on the Mac, run various SID emulation instruments like QuadraSID (now discontinued sadly). If you're starting a remix, you can do a lot
    worse than start from the original MIDI. Feed the original MIDI into a
    modern emulation and start playing with the sounds - excellent.

    What about MIDI to SID? Should be even easier. You might have like 128
    midi instruments defined in GM and could try to create sounds similar to
    that with the SID. You could put the parameters for these sounds in a table with other characteristics, like attack/decay/sustain/release. Then if
    say instrument #1 (piano IIRC) is played in a MIDI look up the piano
    sound for the SID from that table.
    --
    Andreas
    You know you are a redneck if
    you come back from the dump with more than you took.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Mon Aug 14 15:42:40 2017
    Hello!


    What about MIDI to SID? Should be even easier. You might have like 128
    midi instruments defined in GM and could try to create sounds similar to
    that with the SID. You could put the parameters for these sounds in a table with other characteristics, like attack/decay/sustain/release. Then if
    say instrument #1 (piano IIRC) is played in a MIDI look up the piano
    sound for the SID from that table.

    I have also developed a relatively extensible and very configurable MIDI To SID
    (XSID) program. At the moment it only does output to XSID reliably. I seem to
    have messed up the port of the SID Wizard converter. The SID Wizard converter is a little
    limited in comparison to the XSID converter, though. I guess it would be easier to play on the real machine however. Maybe someone can write an XSID player for HardSID?

    @Ian: My XSIDToMIDI program is definitely a step up from SID2MIDw. Give it a try. I find doing multiple passes with different settings and combining those in my DAW gives really awesome results.

    I've been looking into how do to a Linux and MacOS port but I just don't have the ability to port the C/C++ code library wrapper at the moment. Also, there seems to be an issue in the LZMA units when compiled with FPC/Lazarus. Any help would be greatly
    appreciated.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Ian McCall@3:770/3 to Daniel England on Tue Aug 15 15:16:58 2017
    On 2017-08-14 22:42:41 +0000, Daniel England <mewpokemon@hotmail.com> said:

    I've been looking into how do to a Linux and MacOS port but I just don't ha ve the ability to port the C/C++ code library wrapper at the moment. Also,
    there seems to be an issue in the LZMA units when compiled with FPC/Lazaru s. Any help would be greatly appreciated.

    Well - in ye olden days I was also a C/C++ coder though haven't been
    actively coding in that language for some time now. Is it straight
    compilation error or bugged functionality that results?


    Cheers,
    Ian

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Ian McCall@3:770/3 to Andreas Kohlbach on Tue Aug 15 15:15:58 2017
    On 2017-08-14 21:04:00 +0000, Andreas Kohlbach <ank@spamfence.net> said:

    On Mon, 14 Aug 2017 13:58:14 +0100, Ian McCall wrote:

    What you're describing is playing via the cheap sound card General
    MIDI patch-compatible sound cards, like the Waveblaster (Sounblaster
    with a wavetable synth built in) or similar. But MIDI is
    sound-independent: it's the score, the <recipe>, not the sound itself.

    No, I just mentioned that also casual users - like me - used MIDI back in
    the 90s, before MP3 and higher bandwidth (and Napster ;-) kicked in. I
    say MIDI used by the casual user was quickly abandoned in the very late 90s.

    That's fair enough - you would have used wavetable synths built into
    the sound cards in the mid-90s, not "MIDI" as such. MIDI would have fed
    those sound cards, but its the sound cards you're describing. It's more
    true to say that listening to the built-in sound card synths were
    abandoned, than it's true to say MIDI was abandoned, but really we're
    splitting the thinnest of hairs here.


    I would -love- to have a modern, up to date SID2MIDI. I work in Logic
    on the Mac, run various SID emulation instruments like QuadraSID (now
    discontinued sadly). If you're starting a remix, you can do a lot
    worse than start from the original MIDI. Feed the original MIDI into a
    modern emulation and start playing with the sounds - excellent.

    What about MIDI to SID? Should be even easier. You might have like 128
    midi instruments defined in GM and could try to create sounds similar to
    that with the SID. You could put the parameters for these sounds in a table with other characteristics, like attack/decay/sustain/release. Then if
    say instrument #1 (piano IIRC) is played in a MIDI look up the piano
    sound for the SID from that table.

    For me personally, the more interesting capability is definitely
    SID->MIDI. Because then I can import the resulting track into Logic and
    assign whatever instrument/effects I like, and also edit the
    performance. In some cases that might be an emulation of a SID, but in
    others I might decide it's time for an electric guitar, or some new
    synth, or a vocal, or...<insert infinite possibilities here>.

    If I can go into random HVSC SID track, export it to MIDI and use it as
    a start for a remix then that's really, really useful to me.
    Particularly if it includes the automation of the filters/envelopes.
    Even if I don't want to do a full-blown authentic SID remix but just
    want to practice some production techniques, having a fully made set of
    tracks to start with is handy. My aim here isn't to produce accurate
    SID tracks, it's to take SID tracks and produce new arrangement with
    modern instruments (which may or may not include emulated SID in them -
    after all, the SID was a good synth in its own right).

    SID music is what got me into writing music in the first place - SID
    and the BBC Radiophonic Workshop. I still use QuadraSID on almost every
    track I do, often quite subtly so that unless you know you'd never
    guess. Would be nice to be able to access the music direct and then
    work with it myself.


    Cheers,
    Ian

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Tue Aug 15 07:42:28 2017
    Well - in ye olden days I was also a C/C++ coder though haven't been actively coding in that language for some time now. Is it straight compilation error or bugged functionality that results?

    No, the problem is that I've done some changes to ReSID and SIDPlay and written
    C DLL (library) wrappers for them using MSVC. I used to program in C/C++ but it was so long ago. When I did, I used Windows so using MSVC wasn't too much of a stretch... I
    need the wrappers because I've written the programs using Pascal (Delphi) and I
    need my versions because they have critical changes.

    I need the wrappers to compile .so libraries for Linux and MacOS. So, I need to port the code to GCC. I don't really know how to do that. I'm investigating so I'll learn eventually but it would be nice if someone could help me.

    BTW, if I'm going to weigh in on the MIDI usage thing, then I'd have to say that MIDI forms the backbone of almost all DAW software and therefore is used in almost every track out there now, just not in the hands of people who make light of it by playing
    it on their SoundBlaster.

    There are still a lot of people who make their own backing tracks and you have to get the music in some form. MIDI has replaced sheet music in a way.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Ian McCall@3:770/3 to Daniel England on Tue Aug 15 16:24:54 2017
    On 2017-08-15 14:42:29 +0000, Daniel England <mewpokemon@hotmail.com> said:

    MIDI has replaced sheet music in a way.

    My kids are learning instruments right now. I'm shocked at how bad my
    score reading has become - I can barely do bass clef at all anymore,
    and you can forget tenor.

    I used to be pretty reasonable at sight-reading too. Just not a skill
    I've needed for so long now.


    Cheers,
    Ian

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Ian McCall@3:770/3 to Daniel England on Tue Aug 15 20:13:56 2017
    On 2017-08-15 14:42:29 +0000, Daniel England <mewpokemon@hotmail.com> said:

    I need the wrappers to compile .so libraries for Linux and MacOS. So, I ne ed to port the code to GCC. I don't really know how to do that. I'm inves tigating so I'll learn eventually but it would be nice if someone could hel
    p me.

    Well - absolutely no promises because the last time I was a commercial
    C++ programmer is around 15 years ago now, but have downloaded to take
    a look.

    I've also found this tool:
    https://code.google.com/archive/p/make-it-so/. I have some Windows VM
    somewhere so might be able to give it a shot.


    Cheers,
    Ian

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Tue Aug 15 12:35:48 2017
    Well - absolutely no promises because the last time I was a commercial
    C++ programmer is around 15 years ago now, but have downloaded to take
    a look.

    If you can, that would be great.


    I've also found this tool:
    https://code.google.com/archive/p/make-it-so/. I have some Windows VM somewhere so might be able to give it a shot.

    Dang, MakeItSo barfs on the project file because it was created with and I'm using MSVS 2013 (Express but I don't think it matters because it only supports 2010).

    I'm sure the conversion is a simple one, I'm just not sure what decoration the __declspec(dllexport) and __declspec(dllimport) needs to change to and I guess how to fold that all together. There is no makefile, either and I really hate those.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Andreas Kohlbach@3:770/3 to Ian McCall on Tue Aug 15 16:52:40 2017
    On Tue, 15 Aug 2017 15:15:59 +0100, Ian McCall wrote:

    On 2017-08-14 21:04:00 +0000, Andreas Kohlbach <ank@spamfence.net> said:

    On Mon, 14 Aug 2017 13:58:14 +0100, Ian McCall wrote:

    What you're describing is playing via the cheap sound card General
    MIDI patch-compatible sound cards, like the Waveblaster (Sounblaster
    with a wavetable synth built in) or similar. But MIDI is
    sound-independent: it's the score, the <recipe>, not the sound itself.

    No, I just mentioned that also casual users - like me - used MIDI back in
    the 90s, before MP3 and higher bandwidth (and Napster ;-) kicked in. I
    say MIDI used by the casual user was quickly abandoned in the very late 90s.

    That's fair enough - you would have used wavetable synths built into
    the sound cards in the mid-90s, not "MIDI" as such. MIDI would have
    fed those sound cards, but its the sound cards you're describing. It's
    more true to say that listening to the built-in sound card synths were abandoned, than it's true to say MIDI was abandoned, but really we're splitting the thinnest of hairs here.

    Okay, you're right. May be I was under the impression the SID2MIDI was
    mainly thought to be used for playing MIDI one's PC. Like we did in the
    90s. :-)
    --
    Andreas
    You know you are a redneck if
    you ever cleaned fish in your living room.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Tue Aug 15 15:01:36 2017
    I'll try LibSIDPlay.dll next.

    Okay, got that to work as well. The command-line was:

    g++ -shared -std=c++11 -I src -I src/dump -I src/c64 -I src/c64/Banks -I src/c64/CIA -I src/c64/VIC_II -I src/c64/CPU -I src/sidt
    une -I src/utils/MD5 -Wp,-DLIBSIDPLAY_EXPORTS LibSIDPlay.cpp src/*.cpp src/dump/*.cpp src/c64/*.cpp src/c64/CIA/*.cpp src/c64/VIC_I
    I/*.cpp src/c64/CPU/*.cpp src/sidtune/*.cpp src/utils/MD5/*.cpp -o LibSIDPlay.dll


    Hideous, I know. Interesting that not all of the files are required, though. I got some errors about static initialisations so had to include the -std=c++11
    switch but then also got some warnings about auto_ptr being deprecated. I hate
    C/C++, did I
    mention?

    Anyway, again the header was changed with the following:

    #ifdef LIBSIDPLAY_EXPORTS
    #ifdef _MSC_VER
    #define LIBSIDPLAY_API __declspec(dllexport)
    #else
    #define LIBSIDPLAY_API __attribute__((__visibility__("default")))
    #endif
    #else
    #ifdef _MSC_VER
    #define LIBSIDPLAY_API __declspec(dllimport)
    #else
    #define LIBSIDPLAY_API
    #endif
    #endif


    I'll try porting the code to FPC/Lazarus again and see if I still have issues with the LZMA units. This may take some time.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Tue Aug 15 14:26:56 2017
    Hmm...

    Okay, well, I've gotten a LibReSIDFP.DLL to compile using MSYS and MinGW. Its rather hideous though because you need a few other supporting DLLs and they are
    relatively huge.

    Still, it works alright. For some reason, I couldn't get min to define correctly and I'm not sure how you enable the MMX intrinsics so I replaced the min call with the declaration (in two spots) and disabled MMX.

    This is the command-line I used:

    g++ -shared -I src -I src/resample -Wp,-DLIBRESIDFP_EXPORTS LibReSIDFP.cpp src/*.cpp src/resample/*.cpp -o LibReSIDFP.dll


    I successfully used strip to reduce the size but its still twice the size of the MSVC version (not including the dependent DLLs but I'm guessing that the MSVC one relies on DLLs already included with Windows).

    I had to change the way that LibReSIDFP.h managed the LIBRESIDFP_EXPORTS define
    and stdafx.h like so:

    #ifdef _MSC_VER
    #include "stdafx.h"
    #endif
    #include "siddefs-fp.h"

    #ifdef LIBRESIDFP_EXPORTS
    #ifdef _MSC_VER
    #define LIBRESIDFP_API __declspec(dllexport)
    #else
    #define LIBRESIDFP_API __attribute__((__visibility__("default")))
    #endif
    #else
    #ifdef _MSC_VER
    #define LIBRESIDFP_API __declspec(dllimport)
    #else
    #define LIBRESIDFP_API
    #endif
    #endif


    I guess for Linux and MacOS you change LibReSIDFP.dll with LibReSIDFP.so on the
    command-line.

    I also had to remove the leading '_' in the import names in Pascal. For some reason, MSVC prepends a '_' for names in 32 bit but GCC does not.

    I'm disappointed about the MMX intrinsics. Without them, the sound quality is degraded in the resampler.

    I'll try LibSIDPlay.dll next.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Tue Aug 15 16:34:38 2017
    Heyas!


    I'll try porting the code to FPC/Lazarus again and see if I still have issues
    with the LZMA units. This may take some time.

    So, now I have compiled and working version of the XSID Player with Lazarus/FPC
    and GCC (MinGW).

    Its still on Windows... I've compiled the .so libraries on Linux now (they needed further changes which I'll give below). I need to update the OpenAL "plugin" for the player in order to port it to Linux. It got out of date and I
    was no longer
    supporting it because there was no reason to.

    Umm... I needed this for the libraries to compile on Linux (defined in the appropriate library header files):

    #ifndef _MSC_VER
    #define __stdcall __attribute__((stdcall))
    #endif


    I haven't got it all working on Linux yet so I'm not certain of what is really needed there. I'm working on it.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Ian McCall@3:770/3 to Andreas Kohlbach on Wed Aug 16 00:24:32 2017
    On 2017-08-15 20:52:41 +0000, Andreas Kohlbach <ank@spamfence.net> said:

    Okay, you're right. May be I was under the impression the SID2MIDI was
    mainly thought to be used for playing MIDI one's PC. Like we did in the
    90s. :-)

    Soundblasters were built for playing the music from Doom. And if you
    splurged for the Soundblaster 64, you got better music from Doom.

    I'm sure I used my PC for -something- else in the 90s, but what it
    might have been escapes me right now.


    Cheers,
    ian

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Tue Aug 15 20:41:44 2017
    I haven't got it all working on Linux yet so I'm not certain of what is really needed there. I'm working on it.

    *GRRR*

    I've managed to compile everything on Linux now. It seems I need a shared .a file not a .so with the way I'm trying to use the library. Its probably not going to last though because as far as I know, I need to use something else on MacOS.

    However, my problem is that only the dump writer output is working. It seems that there is a problem playing audio with my VM host. I'm looking into it now.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Tue Aug 15 20:59:22 2017
    However, my problem is that only the dump writer output is working. It
    seems that there is a problem playing audio with my VM host. I'm looking into it now.

    *Whew* Yes, it was a problem with the host and the XSID Player is now working on Linux. But only in 32 bits... I'm sure that there would be a problem trying 64 bit so I'm not going to at this point.

    The next step is getting the SID Convert program running. It is going to require a bit of reworking because it does drag-drop at the moment for adding files and I'm pretty certain that it won't work.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Ian McCall@3:770/3 to Daniel England on Wed Aug 16 20:22:50 2017
    On 2017-08-16 03:59:23 +0000, Daniel England <mewpokemon@hotmail.com> said:

    However, my problem is that only the dump writer output is working. It
    seems that there is a problem playing audio with my VM host. I'm looking
    into it now.

    *Whew* Yes, it was a problem with the host and the XSID Player is now
    working on Linux. But only in 32 bits... I'm sure that there would be
    a problem trying 64 bit so I'm not going to at this point.

    The next step is getting the SID Convert program running. It is going
    to require a bit of reworking because it does drag-drop at the moment
    for adding files and I'm pretty certain that it won't work.


    Daniel.

    Excellent - very much appreciated with all the work. Happy to help on
    the Mac if I can.

    32 bits - High Sierra starts to deprecate 32 bits but I seem to
    remember it's three OS versions before it finally kills it.

    Cheers,
    Ian

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Andreas Kohlbach@3:770/3 to Ian McCall on Wed Aug 16 18:24:38 2017
    On Wed, 16 Aug 2017 00:24:32 +0100, Ian McCall wrote:

    On 2017-08-15 20:52:41 +0000, Andreas Kohlbach <ank@spamfence.net> said:

    Okay, you're right. May be I was under the impression the SID2MIDI was
    mainly thought to be used for playing MIDI one's PC. Like we did in the
    90s. :-)

    Soundblasters were built for playing the music from Doom. And if you
    splurged for the Soundblaster 64, you got better music from Doom.

    I had an ISA Terratec Maestro 32/96 with wavetable MIDI. That was quite expensive in the mid 90s but I didn't care much about spending. While
    ordering I then also got a Monster 3DFX.

    I'm sure I used my PC for -something- else in the 90s, but what it
    might have been escapes me right now.

    I never enjoyed using a PC in the 90s as I enjoyed having a Commodore 64
    or Amiga the decade before. Linux then made things somewhat more
    enjoyable on the PCs to come.
    --
    Andreas
    You know you are a redneck if
    you consider a good tan to be the back of of your neck and the left arm
    below the shirt sleeve.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Andreas Kohlbach@3:770/3 to Daniel England on Wed Aug 16 18:40:04 2017
    On Tue, 15 Aug 2017 20:59:23 -0700 (PDT), Daniel England wrote:

    However, my problem is that only the dump writer output is working. It
    seems that there is a problem playing audio with my VM host. I'm looking
    into it now.

    *Whew* Yes, it was a problem with the host and the XSID Player is now
    working on Linux. But only in 32 bits... I'm sure that there would
    be a problem trying 64 bit so I'm not going to at this point.

    I have a 32bit Linux (PAE, but shouldn't matter) running here. If all is
    sorted out please point me to source files and I could try to compile it.

    As for MMX I wouldn't worry and just exclude it. Processors should be
    fast enough today to not really need that, no? And how long can a
    conversion take anyway?
    --
    Andreas
    You know you are a redneck if
    you consider a good tan to be the back of of your neck and the left arm
    below the shirt sleeve.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Wed Aug 16 23:58:04 2017
    Heya!

    I have a 32bit Linux (PAE, but shouldn't matter) running here. If all is sorted out please point me to source files and I could try to compile it.

    I have 32 bit versions working on Linux now. I will upload once we sort out the last few issues on MacOS. I'd like to refactor and consolidate the source files into something a little less of a mess, too.

    The 32 bit version doesn't seem to work on 64 bit Linux. I don't know if that's normal or not. It may be a little while until I have 64 bit versions working. There were some show-stopper problems last time I tried (for the Linux and MacOS versions, at
    least).


    As for MMX I wouldn't worry and just exclude it. Processors should be
    fast enough today to not really need that, no? And how long can a
    conversion take anyway?

    I'm having to exclude it on Linux and MacOS. The worry is the loss of some quality in the ReSID resampler affecting playback and WAV dumps. I personally can't really notice, though.

    It would be nice if the ReSID guys converted the MMX code to SSE.

    The conversions are moving along. I forgot to keep the list updated. Sorry!


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From mark lewis@1:3634/12.73 to Daniel England on Thu Aug 17 10:34:36 2017

    On 2017 Aug 16 23:58:04, you wrote to All:

    The 32 bit version doesn't seem to work on 64 bit Linux.

    on linux, you can have

    1. pure 32bit
    2. pure 64bit
    3. combination of 32bit and 64bit

    #3 is generally known as "multiarch" on debian based systems, IIRC... that's where you have both 32bit and 64bit libs... it used to be ia32 but that was phased out for multiarch which made working with and supporting 32bit apps on a
    64bit system much easier to handle...

    if you can't run 32bit programs on your linux, you probably have a pure 64bit system... if you are on a debian based system, you may be able to install the multiarch stuff... being able to compile a 32bit program and being able to run it are two different things... the 32bit libs generally have something like ":i386" as part of their package name...

    eg: libc6:i386, libncurses5:i386, and libstdc++6:i386

    you might try this google search and see if you can find more info...

    https://www.google.com/search?q=64bit+linux+32bit+programs

    )\/(ark

    Always Mount a Scratch Monkey
    Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
    ... What Bug! I left behind the roaches in New York!
    ---
    * Origin: (1:3634/12.73)
  • From Andreas Kohlbach@3:770/3 to Daniel England on Thu Aug 17 16:54:44 2017
    On Wed, 16 Aug 2017 23:58:05 -0700 (PDT), Daniel England wrote:

    I have a 32bit Linux (PAE, but shouldn't matter) running here. If all is
    sorted out please point me to source files and I could try to compile it.

    I have 32 bit versions working on Linux now. I will upload once we
    sort out the last few issues on MacOS. I'd like to refactor and
    consolidate the source files into something a little less of a mess,
    too.

    No need that I do it then. You likely have more experience with compilers and coding than I have. Still I offer to have a look into it if there are problems.

    [...]

    As for MMX I wouldn't worry and just exclude it. Processors should be
    fast enough today to not really need that, no? And how long can a
    conversion take anyway?

    I'm having to exclude it on Linux and MacOS. The worry is the loss of
    some quality in the ReSID resampler affecting playback and WAV dumps.
    I personally can't really notice, though.

    Umm. MMX is - viewed from a distance - something like a
    math-co-processor, no? So it just speeds things up. It might just take
    [very little time] longer without MMX. But the end product (the MIDI made
    from a SID) should be the same otherwise.
    --
    Andreas
    You know you are a redneck if
    you entire family has ever sat around waiting for a call from the governor
    to spare a loved one.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Fri Aug 18 00:03:24 2017
    No need that I do it then. You likely have more experience with compilers
    and coding than I have. Still I offer to have a look into it if there are >
    problems.

    NP, thanks :)


    Umm. MMX is - viewed from a distance - something like a
    math-co-processor, no? So it just speeds things up. It might just take
    [very little time] longer without MMX. But the end product (the MIDI made from a SID) should be the same otherwise.

    Yes... The problem here is that they've implemented a interpolation resampling
    algorithm in MMX without a "pure code" equivalent. So, when I turn off MMX, I lose the interpolation.

    The SID is so "gritty" anyway that it hardly makes any difference but it is a shame.

    Oh and yes, there is no difference for the MIDI output. Its just the WAV output and play-back that's affected. The MMX code is in the ReSID library, not in the applications.

    BTW, I'm in the process of a code clean-up. Ian didn't get back to me "today" so no further progress on the MacOS port. Hopefully he'll be able to work on it "tomorrow" (we're in different time zones).


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Sat Aug 19 23:02:04 2017
    *Whew*

    I've consolidated the code base and now have support for 32 bit (x86) Linux for
    all but MIDIToSID (which I will fix soon) and XSIDList (soon to be released).

    I haven't got any new progress on the MacOS port. If anyone is able to look into this, I'd be willing to provide as much help as I can. I presently don't have a Mac so am unable to do the port myself. It should be relatively simple to do, however.

    I'll be attempting to port to 64 bit (x64) shortly.

    Enjoy!


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Sun Aug 20 12:15:32 2017
    Heyas!

    I'll be attempting to port to 64 bit (x64) shortly.

    I've fixed the problems preventing a 64 bit compilation. I'm working on building the tools in 64 bits.

    I also found that my documentation is missing some vital hints.

    I'll update the repository shortly. I need a few hours break, first.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Sun Aug 20 12:17:46 2017
    Errmm.. In case it didn't send properly...


    Heyas!

    I'll be attempting to port to 64 bit (x64) shortly.

    I've fixed the problems preventing a 64 bit compilation. I'm working on building the tools in 64 bits.

    I also found that my documentation is missing some vital hints.

    I'll update the repository shortly. I need a few hours break, first.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Sun Aug 20 18:45:44 2017
    I'll update the repository shortly. I need a few hours break, first.

    Alrighty!

    Platform x64 is now supported for Linux and Windows.

    I must mention that I realised that I have compiled Windows versions with support for OpenAL. If you don't have it installed, you won't have any troubles AFAIK, so long as you don't try to use it. But this is unconfirmed. If someone could test this
    for me, I'd be very happy.

    On the other hand, it bugs me that it could be a problem, so I'll probably fix it and remove the support for OpenAL on Windows.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Sun Aug 20 18:51:18 2017
    On the other hand, it bugs me that it could be a problem, so I'll probably fix it and remove the support for OpenAL on Windows.

    I realised I should test it myself and yes, it is a problem. Damn.

    I'll compile Windows versions without support for OpenAL in the standard distribution.

    Apologies!


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to All on Sun Aug 20 19:04:00 2017
    Done.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Daniel England@3:770/3 to Daniel England on Mon Aug 21 12:42:58 2017
    On Monday, 21 August 2017 12:04:01 UTC+10, Daniel England wrote:
    Done.

    To make things "simpler" to download if you just want the binaries, I've put the binaries into archives by platform.


    Daniel.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)