GithubHelp home page GithubHelp logo

Comments (12)

freq-mod avatar freq-mod commented on July 20, 2024 1

Oh, I see. But OPL1 is 100% compatible with later OPL2 and OPL3, so you can kinda say it is OPL2 format as well 😄
But yeah, I don't understand why it support only OPL1 waveforms while it was meant for PCs with Adlibs or SoundBlasters... there were even commercial games which used this driver...

from opn2bankeditor.

farvardin avatar farvardin commented on July 20, 2024

which text format do you have in mind? It looks like for OPNA the MML format as used in PMD98 is a kind of standard, you can see some example in the last paragraph of this tutorial:
https://www.delmunsoft.com/PMD%20Programming.html

from opn2bankeditor.

jpcima avatar jpcima commented on July 20, 2024

There exist a multitude of formats, not mutually compatible.
The idea is from BambooTracker which list a number of distinct formats, and it's a choice in the configuration.

They are listed starting here:
https://github.com/rerrahkr/BambooTracker/blob/c91dfbe5b4a7bb1da11f69f5c00f8019a1f957d4/BambooTracker/configuration.cpp#L65

It will extract a series of numbers from input text, and will assign according to definitions.

A problem is that when instruments contain names with embedded numbers, this extractor will be confused. So we could make a similar thing, except more strict, such that it's more compatible with current files.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

To make sure all software able to store all data (include unique features of each thing: OPL3-BE or BambooTracker), this needs to have the TAGGED format that is able to store any alien data are can be taken back with no losses, and let other software use possible for that data.

from opn2bankeditor.

jpcima avatar jpcima commented on July 20, 2024

I'm a little confused by what you mean, do you mean we should have our custom text format ?

For established formats, it's not recommandable that we add some things which are out of their spec.

from opn2bankeditor.

jpcima avatar jpcima commented on July 20, 2024

@farvardin also, since this work has a chance to be shared with OPL-BE, are you aware of any text formats which are used with the OPL? (I don't know any)

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

@jpcima there is one - PMD for IBM PC OPL2: https://github.com/NoyemiK/PMD-for-IBM

from opn2bankeditor.

farvardin avatar farvardin commented on July 20, 2024

@Papiezak I've tried to fiddle around with this tool and I discovered it's not supposed to work with OPL2 or OPL3 chips, only OPL(1): https://github.com/NoyemiK/PMD-for-IBM/issues/1

So I don't know any other textual format for OPL2 or OPL3. Probably MML is more suitable for OPN chips.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

I don't think it's a good idea to use these formats like this which supports OPL1 only for copy-paste. When speak about OPL3-BE, OPN2-BE, BambooTracker, and something also which is open source: we are really can produce own textual format which will be tagged and will contain all necessary data which will be handled by all software and every software thing will be able to store own exclusive values with no loss when copying data for using with self, and the compatibility for copying between different programs. The format would be like:

D: xxxxx=y; xxxxx=y; xxx=y; xx=y; xxxx=yyy; ....
OP1: XX=YY; XX=YY; XX=YY;....
OP2: XX=YY; XX=YY; XX=YY;....
OP3: XX=YY; XX=YY; XX=YY;....
OP4: XX=YY; XX=YY; XX=YY;....

Where D - common setup, where OPx - setup for each operator (OR raw registers, OR each OPLx related parameter like attack, decay, release, sustain, volume, AM/FM mode, etc...). The format should be tagged to guarantee full backward compatibility between any versions and any software that using this format: any unknown fields will be just ignored, any missing fields will just be set with a default value, etc.

from opn2bankeditor.

jpcima avatar jpcima commented on July 20, 2024

There are already some established specifications, It's important that we use them.
To add our own specification is a possibility, I think of it as secondary.

A generic way how to establish this, it's to put together a kind of meta-grammar to construct custom format specifications, somewhat like BT does.

For an imaginary example

%(name)
OP1: %(TL) %(AR)  %(DR) %(SL) %(RR) ...
OP2: ...

And it permits to work in both directions, loading and saving.

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

Also, I'm having a problem with variation of FMP and PMD - they aren't even regocnized by editor:
FMP:
'@ 0 ; name
'@ 31, 0, 0, 7, 0, 32, 0, 0, 0
'@ 31, 0, 0, 7, 0, 0, 0, 0, 0
'@ 31, 0, 0, 7, 0, 32, 0, 0, 0
'@ 31, 0, 0, 7, 0, 0, 0, 0, 0
'@ 4, 0

PMD:
@ 0 4 0 =name
31 0 0 7 0 32 0 0 0 0 0
31 0 0 7 0 0 0 0 0 0 0
31 0 0 7 0 32 0 0 0 0 0
31 0 0 7 0 0 0 0 0 0 0

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

Closing as abandoned. If something still need to debug/improve, please re-open.

from opn2bankeditor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.