Author Topic: BASSZXTUNE - chiptune support for BASS  (Read 50631 times)

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #25 on: 15 Nov '15 - 09:53 »
The new version (v2.4.4) of BASSZXTUNE is out!

Major improvements:
    - new formats: NSF, NSFE, GBS, SAP, HES, VGM, GYM, AHX
    - seek speed was increased dramatically for some formats
    - Android i686 build

Downloads, details & full changelog:
https://sourceforge.net/projects/basszxtune/files/basszxtune/v2.4.4/

In the next version I'll probably try to disable the support for the formats that overlap with BASS-native formats.
This is not implemented yet.

Dhry

  • Posts: 130
Re: BASSZXTUNE - chiptune support for BASS
« Reply #26 on: 11 Dec '15 - 23:13 »
Is there a way to make this work with the 1by1 player? I extracted basszxtune.dll and basszxtune.lib into the 1by1 folder but it just crashes the player. Usually you can just extract a BASS extension into the folder and it will work fine by extending bass.dll automatically.

Cheers
DRS

haspor

  • Posts: 19
Re: BASSZXTUNE - chiptune support for BASS
« Reply #27 on: 15 Dec '15 - 09:18 »
The new version (v2.4.4) of BASSZXTUNE is out!

Major improvements:
    - new formats: NSF, NSFE, GBS, SAP, HES, VGM, GYM, AHX
    - seek speed was increased dramatically for some formats
    - Android i686 build

Downloads, details & full changelog:
https://sourceforge.net/projects/basszxtune/files/basszxtune/v2.4.4/

In the next version I'll probably try to disable the support for the formats that overlap with BASS-native formats.
This is not implemented yet.


outstanding job :)

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #28 on: 20 Dec '15 - 14:25 »
I extracted basszxtune.dll and basszxtune.lib into the 1by1 folder but it just crashes the player.

Weird. Judging by the debug output, the crash happens outside of the plugin, before the plugin is even loaded. It seems like 1by1 can't load the plugin because of some binary incompatibility or something like that. Also, 1by1 provides no logs nor error messages, so I can't effectively locate the source of the problem. I tested the plugin with another music player - AIMP, and they work fine together. Currently, I have no idea why the plugin doesn't work with 1by1.

BTW, *.lib files are only needed for development, you don't have to copy these files alongside *.dll.

Jfarro

  • Posts: 33
Re: BASSZXTUNE - chiptune support for BASS
« Reply #29 on: 5 Jan '16 - 09:46 »
I'm working on a Windows UWP app using Bass, and was looking at adding .nsf and SID support.  This library looks like a much better avenue than my other plan (trying to shim in FMod somehow and then programmatically alter).

How tough would it be to have this work with a windows UWP app? I'm willing to help where I can.

Dhry

  • Posts: 130
Re: BASSZXTUNE - chiptune support for BASS
« Reply #30 on: 5 Jan '16 - 16:37 »
Weird. Judging by the debug output, the crash happens outside of the plugin, before the plugin is even loaded. It seems like 1by1 can't load the plugin because of some binary incompatibility or something like that. Also, 1by1 provides no logs nor error messages, so I can't effectively locate the source of the problem. I tested the plugin with another music player - AIMP, and they work fine together. Currently, I have no idea why the plugin doesn't work with 1by1.

No worries ZXED, thanks for looking at it. I might post on the 1by1 forum and see what they say about it.

Cheers
DRS

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #31 on: 5 Jan '16 - 17:23 »
How tough would it be to have this work with a windows UWP app?

I'll look into it and contact you via PM when I have any ideas. Also, do you have a fully working UWP example (project source code) that uses some other BASS add-on? That could be a great help for me since I have no experience with UWP projects.

Jfarro

  • Posts: 33
Re: BASSZXTUNE - chiptune support for BASS
« Reply #32 on: 10 Jan '16 - 21:23 »
I do have Bass for Windows phone working, along with Midi support.  There were some changes Ian I believe had to do to Bass to use the Storage API's for file loading..and when I consumed them I had to use Task.Run to do loads on a background thread. Other than that I have the Midi addon working quite well with soundfont support and such.

Jfarro

  • Posts: 33
Re: BASSZXTUNE - chiptune support for BASS
« Reply #33 on: 20 Jan '16 - 11:52 »
(PLEASE SEE EDIT BELOW)
ZXED followed up with me and let me know that he tested it...and this just worked! I wanted to share this with any other fellow UWP windows developers.  I've also verified it in my app..the integration was really smooth.  This is for x64/x86...I'll work to compile it for Arm and see if I can get that working as well.

Thanks a ton ZXED for sharing this with the community...tonight I got to hear some of my favorite c64 tunes (Legacy of the ancients and the Koronis Rift theme) in an app that I'd put together with help from your library!

EDIT: While this did indeed compile and run, it does not currently pass store certification.  There are a number of MSVCRT api's which are called which the store does not allow. I'll see if I can help ZXED out and if we can get this working.
« Last Edit: 20 Jan '16 - 22:50 by Jfarro »

ZXED

  • Posts: 61

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #35 on: 30 Oct '16 - 09:04 »
The new version (v2.4.5) of BASSZXTUNE is out!

This version has undergone a huge rewrite and all constants BASS_POS_ZXTUNE_*, BASS_TAG_ZXTUNE_* and other constants and their usage have been changed! See README file for more details if you use any of these constants. Hopefully, there will be no such major changes from now on.

Major improvements:
    - new info can be retreived via tags: number of frames, loop frame, additional module strings (e.g. samples/instruments names) and more;
    - ability to set maximum allowed file size (can be somewhat useful on mobile devices with limited processing power), current max file size has been changed to 2 MiB;
    - fixed some crashes on Android.

Downloads, details & full changelog:
https://sourceforge.net/projects/basszxtune/files/basszxtune/v2.4.5/

The project source code has been moved to:
https://bitbucket.org/z80maniac/zxtune

Previously the source code was split between SourceForge and Bitbucket. Now all the source code is on Bitbucket. Also, now you can find clear instructions on how to build the add-on yourself:
https://bitbucket.org/z80maniac/zxtune/src/master/apps/plugins/BUILD.TXT
https://bitbucket.org/z80maniac/zxtune/src/master/apps/plugins/bass/BUILD.TXT

There will be no UWP version for now. May be in the next release. Also, there will be no corresponding XMplay plugin release because there were almost no changes in it since the last release.

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #36 on: 15 Jul '17 - 20:07 »
The new version (v2.4.6) of BASSZXTUNE is out!

Major changes:
    - default maximum file size is now 256 MiB

New supported formats:
    - PlayStation 1&2 Sound Format (PSF,PSF2)
    - Nintendo Ultra64 Sound Format (USF)
    - GameBoy Advance Sound Format (GSF)
    - HivelyTracker (HVL)

Known bugs:
    - Crash when opening compressed USF files on 64-bit Windows

Additional notes:
    - This release added support to PSF-like formats. These formats are usually multi-file, i.e. they need several files at once for a single tune (e.g. *.minipsf + *.psflib). BASSZXTUNE supports only single-file formats, but it supports archived modules. So, to play multi-file formats you may archive all needed files into any supported archive (zip, 7z, tar, gz, rar) optionally changing the extension of the archive to a supported extension (e.g. *.psf).
    - *.lib files for MSVC are no longer shipped inside the release archives. You can still use *.lib files from the previous versions or create them yourself.

Downloads, details & full changelog:
https://sourceforge.net/projects/basszxtune/files/basszxtune/v2.4.6/


Is there a way to disable some formats? I would like to use standard BASS capabilities for some file formats, like .xm, .it and such.
It turned out to be harder than I thought, so disabling formats will not be implemented. Instead you may use some hack to achieve the similar result. The add-on will not open any file if its filesize is bigger than the allowed filesize (BASS_CONFIG_ZXTUNE_MAXFILESIZE setting). So you may try the following:
Code: [Select]
DWORD oldVal = BASS_GetConfig(BASS_CONFIG_ZXTUNE_MAXFILESIZE);
BASS_SetConfig(BASS_CONFIG_ZXTUNE_MAXFILESIZE, 0);
BASS_StreamCreateFile(...);
BASS_SetConfig(BASS_CONFIG_ZXTUNE_MAXFILESIZE, oldVal);

Of course, to only disable BASS-supported formats, it's still easier to just call BASS_MusicLoad before BASS_StreamCreateFile.

There will be no UWP version for now. May be in the next release.
I decided to completely drop UWP version for the time being due to much complicated build and test processes. However, the project is open source, so anyone willing to try to make UWP version can fork the project here:
https://bitbucket.org/z80maniac/zxtune

Davi

  • Guest
Re: BASSZXTUNE - chiptune support for BASS
« Reply #37 on: 13 Mar '18 - 16:47 »
The BASSZXTUNE is incorrectly reporting length/seek position when "BASS_SAMPLE_FLOAT" is used to open stream.

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #38 on: 14 Mar '18 - 17:18 »
Thanks for a bug report! Yes, the bug is reproducible. I will try to fix it in the next version.

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #39 on: 1 Apr '18 - 10:49 »
The new version (v2.4.7) of BASSZXTUNE is out!

New supported formats:
    - Sega Dreamcast (DSF)
    - Sega Saturn (SSF)
    - Nintendo DS (2SF)
    - Startrekker (MOD)

Downloads, details & full changelog:
https://sourceforge.net/projects/basszxtune/files/basszxtune/v2.4.7/

The BASSZXTUNE is incorrectly reporting length/seek position when "BASS_SAMPLE_FLOAT" is used to open stream.
Fixed.

mccs

  • Guest
Re: BASSZXTUNE - chiptune support for BASS
« Reply #40 on: 6 Apr '18 - 08:11 »
1by1 (V.1.90) plays fine with files/dll in 1by1 folder:
- bass.dll - 105 KB (107.584 Bytes) version 2.4.10.0
- in_bass.dll - 9,00 KB (9.216 Bytes) version 2.2.0.0
no other codex in 1by1 folder!  8)

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #41 on: 7 Apr '18 - 08:49 »
I'm not sure how it has anything to do with BASSZXTUNE.

However, for anyone who is interested: there's possibly a bug in 1by1 that crashes the player when this add-on is installed:
  • The player allocates a fixed amount of memory to store the add-on extension string (BASS_PLUGINFORM::exts).
  • BASSZXTUNE has a very long extension string that does not fit in that memory space.
  • Stack overflow...
How did I assume that? It's because when I shorten the list of the supported extensions (making it 2 extensions, for example), 1by1 is able to load the add-on and use it correctly.

I've mailed this bug report to 1by1 developer.

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #42 on: 24 Jun '18 - 08:47 »
The new version (v2.4.8) of BASSZXTUNE is out!

This version adds a partial support for RASTER Music Tracker (RMT) files (some *.rmt files still cannot be played). Also, see README.TXT for a list of upstream ZXTune changes/fixes.

Downloads, details & full changelog:
https://sourceforge.net/projects/basszxtune/files/basszxtune/v2.4.8/

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #43 on: 24 Aug '19 - 08:53 »
The new version (v2.4.9) of BASSZXTUNE is out!

Notable changes:
    - Support for a new extension: *.kss (previous versions supported KSS files too, but now KSS support in ZXTune is more stable, so it's added to BASSZXTUNE supported extensions).

    - Added support for 64-bit Android (arm64-v8a and x86_64). Note that android-x86_64 lib was not tested at all (by me).

    - All Android libs now require dynamic linking to libc++ runtime (libc++_shared.so).

    - Windows libs now have two versions:
        a) Stand-alone, with built-in runtime (the usual libs).
        b) Linked to shared MSYS2 runtime (read more in the README about this one; basically it's for those who already use shared MSYS2 runtime in their projects).

    - All tags information about patterns is removed (PATTERNS tag in BASS_ChannelGetTags), because the corresponding functionality was removed from ZXTune.

    - Build process is moderately changed:
        a) Added Docker support for Linux and Android.
        b) Android builds now use official NDK.
        c) OSX build does not require MacPorts anymore.
        d) A user can choose what Boost version to use.
      for more info, see BUILD.TXT (https://bitbucket.org/z80maniac/zxtune/src/master/apps/plugins/BUILD.TXT)

There are also a lot of bugfixes (mostly from the upstream ZXTune code; see full changelog for details).

Downloads, details & full changelog:
https://sourceforge.net/projects/basszxtune/files/basszxtune/v2.4.9/

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #44 on: 23 Aug '20 - 18:52 »
A new version (v2.4.10) of BASSZXTUNE is out!

Notable changes:
    - Support for Farbrausch V2 Synthesizer System file format (*.v2m)
    - Support for Sound 98 file format (*.s98)

Downloads, details & full changelog:
https://sourceforge.net/projects/basszxtune/files/basszxtune/v2.4.10/

r0ger

  • Posts: 2
Re: BASSZXTUNE - chiptune support for BASS
« Reply #45 on: 2 Nov '20 - 16:56 »
is there a way i can load the zxtune plug on MASM32 ? i am coding on WinASM and i actually need it , mostly for V2M's .
i use MagicH's v2m player for the v2 playback , and some V2m's (especially the newer ones) don't work.

sorry if i double post this, i've posted in a wrong topic , i meant to post it here actually.

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #46 on: 2 Nov '20 - 17:50 »
some V2m's (especially the newer ones) don't work
Are you sure that ZXTune can play these tracks?

is there a way i can load the zxtune plug on MASM32 ?
I guess it can be loaded like any other BASS add-on, via BASS_PluginLoad. Did you try it? There's MASM API for BASS: https://www.un4seen.com/bass.html#apis

i use MagicH's v2m player for the v2 playback
I don't know your use case, but there's also the original V2M library/player from farbrausch: http://www.farbrausch.de/prod&which=86.py

r0ger

  • Posts: 2
Re: BASSZXTUNE - chiptune support for BASS
« Reply #47 on: 2 Nov '20 - 20:06 »
Are you sure that ZXTune can play these tracks?

Well it depends on some plugin version used on every v2m (either 1.0 or 1.5).
can you tell me what version of the v2 plugin you've used on the ZXTune?
« Last Edit: 2 Nov '20 - 20:18 by r0ger »

ZXED

  • Posts: 61
Re: BASSZXTUNE - chiptune support for BASS
« Reply #48 on: 3 Nov '20 - 07:21 »
can you tell me what version of the v2 plugin you've used on the ZXTune?

ZXTune is using this sources for V2M: https://github.com/jgilje/v2m-player with some modifications: https://bitbucket.org/zxtune/zxtune/commits/?search=v2m

You need to keep in mind that BASSZXTUNE is just a wrapper around ZXTune library. ZXTune itself is not developed by me. I only wrote a small glue code between BASS and ZXTune, and applied some patches to ZXTune core to make it all work. I know some basic ZXTune internals, but in general case, especially regarding decoding techinical details, it's better to ask the author of ZXTune.

Here's the official ZXTune website: https://zxtune.bitbucket.io. You can download ZXTune player and try to play your v2m files.

drummingdemon

  • Posts: 9
Re: BASSZXTUNE - chiptune support for BASS
« Reply #49 on: 16 Apr '21 - 17:47 »
Hi!

Thanks for your hard work - any chance you'll do an Apple Silicon dylib (osx-arm64)?

Cheers!