Skip to main content

Topic: foo_input_zxtune (Read 22842 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • djdron
  • [*]
  • Developer
foo_input_zxtune
Allows you to play various ZX Spectrum, Amiga, PC, Atari, Acorn chip / digital / fm tunes.

Download version 0.0.5 based on r3500 (oct 30 2015) here: foo_input_zxtune.fb2k-component

Changelog:
    Added DSK images support
    Added MultiTrackContainer (MTC) format support
    Added NSF, NSFE, GBS, SAP, HES, VGM and GYM formats support
    Fixes in PT3 playback
    Fixes in Vortex TXT parsing
    Fixes in DMM processing for samples with invalid loop
    Reduced volume of TFM tracks
    Fixed parsing of some AY modules (BB#12)
    Fixed crash on SID playback finish
    Fixed playback of TS tracks with different duration
    Fixed .ay files playback seeking[/li]


Project home page
Fork with foobar2000 plugin source code (full changelog)

ZX Tunes archive, Latest ZX Spectrum music
ModLand
High Voltage SID Collection

Input chiptune formats
AY/YM
    Registers dumps
      PSG Stream (PSG)
      Vortex Project / V_Soft (VTX)
      StSound Project / Leonard/Oxygen (YM)
      Amstrad AYC (AYC)[/li]

    Memory dumps
      AY/EMUL (AY)[/li]

    Trackers
      Sound Master v0.xx/1.xx-2.xx (AS0/ASC)
      Fast Tracker v1.xx (FTC)
      Global Tracker v1.xx (GTR)
      Pro Sound Creator v1.xx (PSC)
      Pro Sound Maker (PSM)
      SQ-Tracker (SQT)
      Sound Tracker v1.x compiled/uncompiled (STC/ST1)
      Sound Tracker v3.x uncompiled (ST3)
      Sound Tracker Pro compiled (STP)
      Vortex Tracker II (TXT)
      TurboSound container (TS)[/li]
    [/li][/list]
    Digital formats
      ZX Spectrum

        Chip Tracker v1.xx (CHI)
        Digital Music Maker (DMM)
        Digital Studio AY/Covox (DST)
        Extreme Tracker v1.xx (ET1)
        ProDigiTracker v0.xx (PDT)
        SQ Digital Tracker (SQD)
        Sample Tracker (STR)[/li]

      PC

        Composer 669/UNIS 669 (669)
        DSMI Advanced Module Format (AMF)
        Asylum Music Format v1.0 (AMF)
        Epic MegaGames MASI (PSM)
        Farandole Composer (FAR)
        Fast Tracker II (XM)
        Funktracker (FNK)
        Generic Digital Music (GDM)
        His Master's Noise (MOD)
        Imago Orpheus v1.0 (IMF)
        Impulse Tracker (IT)
        Liquid Tracker (LIQ)
        Liquid Tracker NO (LIQ)
        Digitrakker (MDL)
        Multitracker (MTM)
        Poly Tracker (PTM)
        Real Tracker (RTM)
        Scream Tracker 3 (S3M)
        Slamtilt (STIM)
        Scream Tracker 2 (STM)
        STMIK 0.2 (STX)
        Ultra Tracker (ULT)
        X-Tracker (DMF)[/li]

      Amiga

        DigiBooster Pro (DBM)
        DIGI Booster (DBM)
        Images Music System (IMS)
        MED 1.12/2.00/2.10 (MED)
        OctaMED (MED)
        Oktalyzer (OKT)
        Protracker/Compatible (MOD)
        Protracker 3 (PT36)
        Protracker Studio (PSM)
        SoundFX v1.3/2.0 (SFX)
        Soundtracker 2.6/Ice Tracker (MTN)
        Soundtracker/Compatible (MOD)
        Quadra Composer (EMOD)[/li]

      Atari

        Digital Tracker (DTM)
        Graoumf Tracker (GTK)
        TCB Tracker (TCB)[/li]

      Acorn

        Desktop Tracker (DTT)[/li]
      [/li][/list]

      YM2203/TurboFM

        Registers dumps
          TurboFM Dump (TFD)
          TurboFM Compiled (TFC)[/li]

        Trackers
          TFM Music Maker v0.1-1.2/1.3+ (TF0/TFE)[/li]
        [/li][/list]

        Philips SAA1099
          E-Tracker (COP)[/li]

        Commodore MOS6581
          C64 RSID/PSID (SID)[/li]


        NES/SNES
          SNES SPC700 (SPC)
          NES Sound Format (NSF)
          Extended Nintendo Sound Format (NSFE)[/li]


        GameBoy
          GameBoy Sound (GBS)[/li]


        Atari
          Slight Atari Player (SAP)[/li]


        TurboGrafX
          Home Entertainment System (HES)[/li]


        Multidevice
          MultiTrackContainer (MTC)
          Video Game Music (VGM)
          Genesis YM2612 (GYM)[/li]


        Input containers formats
          Packers
            CharPres
            Code Cruncher v3
            Compressor Code v4/v4+
            DataSqueezer
            ESV Cruncher
            GamePacker v1/v1+
            Hrum
            Hrust v1.x/2.x
            LZH Packer v1/v2
            ASC LZS Packer
            MegaLZ
            MicroSpace Packer
            Pack v2
            Powerfull Code Decreaser v6.1/v6.2
            Turbo-LZ/Turbo-LZ+
            Trush[/li]

          Archivers
            HRiP
            ZXZip[/li]

          Disk images
            TRD
            SCL
            Hobeta
            FullDiskImage
            TeleDisk
            DSK[/li]

          Snapshots
            SNA
            SZX
            Z80[/li]
          [/li][/list]
          • Last Edit: 24 November, 2015, 05:33:22 AM by djdron

          • Nahkranoth
          • [*][*]
          foo_input_zxtune
          Reply #1
          That's a lot of formats (or should I say format variations?) 

          Aren't there any options yet?

          Thanks!


          • Porcus
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #2
          Z80? Ah, memory lane!

          • djdron
          • [*]
          • Developer
          foo_input_zxtune
          Reply #3
          That's a lot of formats (or should I say format variations?) 
          Aren't there any options yet?


          What kind of options do you wish?)
          ZXTune project can implement this options.
          Do you really need them?

          • Nahkranoth
          • [*][*]
          foo_input_zxtune
          Reply #4
          What kind of options do you wish?)
          ZXTune project can implement this options.
          Do you really need them?

          Panning and lowpass for example. Not crucial but these options are common in emulators AFAIK.
          And, having this component, I may remove foo_input_ym, right?
          Out of interest, what component will be used for playing .ym files if I have both your and foo_input_ym?EDIT: And the same in case of .ay, will it be played by foo_gep (Game Emu Player)?


          • Last Edit: 20 February, 2013, 09:24:46 AM by Nahkranoth

          • djdron
          • [*]
          • Developer
          foo_input_zxtune
          Reply #5
          Panning and lowpass for example. Not crucial but these options are common in emulators AFAIK.


          May be i'll add this options to next version.

          Quote
          And, having this component, I may remove foo_input_ym, right?
          Out of interest, what component will be used for playing .ym files if I have both your and foo_input_ym?EDIT: And the same in case of .ay, will it be played by foo_gep (Game Emu Player)?

          I'm interested too)) I'll check this case.

          • mudlord
          • [*][*][*][*][*]
          • Developer (Donating)
          foo_input_zxtune
          Reply #6
          foo_input_ym uses StSound.

          I daresay since this uses it too, you could remove it.

          • Nahkranoth
          • [*][*]
          foo_input_zxtune
          Reply #7
          foo_input_ym uses StSound.

          I daresay since this uses it too, you could remove it.


          Thanks, mudlord!


          While we're at it, is there a Spectrum SQ Tracker player for windows?


          • mudlord
          • [*][*][*][*][*]
          • Developer (Donating)
          foo_input_zxtune
          Reply #8
          I do not know O_O

          • deus-ex
          • [*][*][*][*]
          foo_input_zxtune
          Reply #9
          While we're at it, is there a Spectrum SQ Tracker player for windows?

          AY_Emul v2.9 beta 11
          Best regards
          deus-ex

          • Nahkranoth
          • [*][*]
          foo_input_zxtune
          Reply #10
          While we're at it, is there a Spectrum SQ Tracker player for windows?

          AY_Emul v2.9 beta 11


          Thanks deus-ex!


          There's a lot of stuff on Modland, but it's not always possible to figure out a correct player.


          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #11
          Out of interest, what component will be used for playing .ym files if I have both your and foo_input_ym?EDIT: And the same in case of .ay, will it be played by foo_gep (Game Emu Player)?


          Accordingly to Peter's words and my own experience with other components it's "random by design" - which means that sometimes .ay files will be played by foo_input_ym and sometimes by foo_gep. Same for other formats. There's no specific logic wich lets foobar choose which component will be used every time, as well as there are no user configurable settings for such options.

          • deus-ex
          • [*][*][*][*]
          foo_input_zxtune
          Reply #12
          There's no specific logic wich lets foobar choose which component will be used every time, as well as there are no user configurable settings for such options.

          Foo_GEP offers to individually toggle support for each of the formats it can decode.


          Best regards
          deus-ex

          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #13
          Does anyone noticed craches after installing this component?
          At first, after installing it everything worked fine. I decided to remove .dll for input_ym as it's redundant after installig input_zxtune. And after that I couldn't even open foobar - it has crashed 4 times when I tried to start it. So I placed foo_input_ym.dll again in components directory and foobar now starts properly, but sometimes it just closes unexpectly (right after start), even if nothing is played. After installing this component foobar mostly uses up to 50% of six core CPU time right after start. Any suggestions/reports? Online troubleshooter says that 3 of components that I use are often causing problems: foo_amipwrapper.dll : AMIP Wrapper 1.01, foo_bpm.dll : BPM Analyser 0.2.4.1 and foo_input_usf.dll : LazyUSF 2.1 (Build Jun 26 2011). I will NOT uninstall first 2, maybe I can try with 3rd one.

          EDIT:
          Thanks for hint deus-ex, I forgot about that, it was long time ago when I looked into GEP settings  - maybe that's connected with my crashes.

          EDIT2:
          Disabling YM in GEP doesn't help. The only way to eliminate 50% CPU usage at foobar start and unexpected closing was removing input_zxtune from components...

          EDIT3:
          Reinstaling input_zxtune caused continuous crashes - foobar just couldn't start and again I got 50% CPU usage ahen I tried to start it.

          EDIT4:
          I noticed that zxtune supports VTX. I got other VTX decxoder. I removed both VTX and YM decodrs, reinstalled zxtune and I got another crash at start...
          • Last Edit: 24 February, 2013, 05:59:01 AM by EpicForever

          • deus-ex
          • [*][*][*][*]
          foo_input_zxtune
          Reply #14
          EDIT2:
          Disabling YM in GEP doesn't help. The only way to eliminate 50% CPU usage at foobar start and unexpected closing was removing input_zxtune from components...

          Foo_GEP does not support the YM format, there is no option to toggle it in the options dialog. Do not mix YM with AY as both are different formats.
          Best regards
          deus-ex

          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #15
          Yes, you are right, I've mixed them up. In section "EDIT2:" of my previous post should be: "Disabling AY in GEP doesn't help."

          There's to much "Y" in these formats
          • Last Edit: 24 February, 2013, 01:45:24 PM by EpicForever

          • djdron
          • [*]
          • Developer
          foo_input_zxtune
          Reply #16
          EpicForever

          Really strange things you described.

          Can you try clean install of foobar+zxtune, then add other plugins 1 by 1, and detect when your problem appears?

          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #17
          Maybe tomorrow or on Saturday I'll try that.

          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #18
          I haven't tried to clean install foobar and use your component. But after so long time I just tried to install your component again. foobar has crashed. And this is what I got from online troubleshooter:

          "Problem caused by: foo_input_zxtune.dll : ZX Tune Player
          Known buggy component"

          ( http://help.foobar2000.org/problem/643aa94...78eac3007b26c0b )

          • djdron
          • [*]
          • Developer
          foo_input_zxtune
          Reply #19
          EpicForever>"Problem caused by: foo_input_zxtune.dll : ZX Tune Player

          Hello!
          Try to disable foo_input_tak plugin (i see strange call stack in your .log).
          Maybe it conflicts?

          Also please try to clean install.

          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #20
          Well, for me it makes sense only if I can use all my current components... Tomorrow or day after I'll make some tests anyway.


          EDIT:
          First try : foo_input_tak.dll disabled. Nothing changed. Another crash report.

          EDIT2:
          Sorry, wrong file attached. See failure0000014.txt

          EDIT3:
          Currently I haven't made a clean install, but I removed all manually installed components, as well as installed via UI. So foobar was ran with only standard components and foo_input_zxtune.dll (installed manually). Crash report is in file failure00000016.txt . I doubt that clean istall will help.
          • Last Edit: 26 March, 2013, 04:07:43 PM by EpicForever

          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #21
          djdron, you owe me a beer. I've made a serious investigation. Generally none of my components caused problems with zxtune. I've installed everything, one by one, restarting foobar after every component added. Every. Input, DSP, OSD, etc. After that I even restored all my settings - and nothing bad happened. Everything seemed fine until... I deleted mudlord's foo_input_ym. I decided that if everythings works properly and now I got 2 components doing literally the same (opening YM files), then I can delete the one which opens only the one format and keep the one with wider abilities (zxtune). After deleting foo_input_ym.dll foobar started crashing. Restoring foo_input_ym doesn't changed anything. The only thing that I can do now is to delete foo_input_zxtune. Or try to reset config and istall everything from scratch. All crash reports point to foo_input_zx_tune...

          3 of them are attached below.

          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #22
          Further investigations has been made.
          What can I do to use foo_input_zxtune.dll :
          1. install foobar normally - this MUST be clean istall. Previous has to be permanently deleted with uninstaler
          2. allow foobar to run after clean installation. then exit it. This ensures that current changes are somehow applied and saved
          3. install foo_input_zxtune.dll as FIRST component (I install nearly everything manually into "components" directory in installation folder)
          4. run foobar and exit it for reasons described above.
          5. now I can install every other component I used before, to both components and user-components folders - except foo_input_ym !! it shouldn't be installed, then run it and exit it
          6. now I can import my wavecache db, database (library), playback statistics, cddb data and what is most important - my custom theme file. Now run and exit foobar.
          7. now I can import all my settings, for all my components - except file Core.cfg !! . Run foobar and exit.
          8. now the best - now I can import Core.cfg. My fcuk1n old Core.cfg from all previous foobar installations...

          I tried to make points 3-8 at one time. Fail. I had to make another clean install. I tried to make points 5.-8. at one time. Fail. Clean install needed. I tried to make only point 7 and 8 at one time. Fail again. Maybe points 5-7 can be done at one time, but I haven't tried. For sure points 1-4 must be performed as described and point 8 must be separate operation. This let's me use foobar with foo_input_zxtune, but even now crashes accur frequently, foobar shuts down unexpectedly, or despite I closed it properly I got information that last time it was shutted down abnormally. I tried to disable all active DSPs but without result.

          4 crash reports included.

          EDIT:
          I determined that this situation is somehow connected with my old Core.cfg file. After several restarts everything stops working correctly and zxtune prevents foobar from start, causing repeated crashes. Another 2 reports.

          EDIT2:
          It seems to be problem with Media Library. Most of crash reports contain "folder watcher thread=>watch loop=>input_entry::g_open_for_info_read" as last call path. Maybe that amount of file extensions and metadata schemes intorduced with this component cause probnlems with ML. I took my old Core.cfg file and managed to remove all folders from ML. It looks like it works again... That was specific to old Core.cfg - loads of folders/files to watch and analyze. New/resetted configuration always missed watched folders... Several crash reports attached.

          Additionally several times I got this error:

          while folders were initialized in Media Library.

          • Last Edit: 27 March, 2013, 12:36:10 PM by EpicForever

          • EpicForever
          • [*][*][*][*][*]
          foo_input_zxtune
          Reply #23
          I have to confirm that since I disabled (deleted) all folders from Media Library I got no problems with foo_input_zxtune. Several restarts, tests, many files played and nothing bad has happened.

          • foosion
          • [*][*][*][*][*]
          • Moderator
          foo_input_zxtune
          Reply #24
          Given that the crashes don't occur when foo_input_zxtune is only used for playback and not for background scanning, the question is now whether the component supports multiple decoder instances. Could this be the reason for EpicForever's problems, djdron?
          http://foosion.foobar2000.org/ - my components for foobar2000