Giter Site home page Giter Site logo

adlmidi's People

Contributors

bisqwit avatar crumblingstatue avatar kode54 avatar laanwj avatar naegelejd avatar the-king-of-toasters avatar wohlstand avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adlmidi's Issues

very low volume playback

on archlinux, with an ordinary alsa / pulseaudio configuration, adlmidi plays back audio at a barely audible volume. Running with -w produces a .wav file with a very low volume as well.

Adapt to OPL3DUO (serial control OPL3 actual hardware)

https://github.com/DhrBaksteen/ArduinoOPL2/blob/master/examples/OPL3Duo/SerialPassthrough/SerialPassthrough.ino
https://github.com/DhrBaksteen/ArduinoOPL2/blob/master/examples/OPL2AudioBoard/SerialPassthrough/SerialPassthrough.ino

Currently I use SerialPassthrough.ino of OPL3DUO, compile these codes with arduino and upload them to arduino nano.
After that I use dosbox-x and specify the port number (like com3) and I can use the actual opl3 hardware.

Unite with libADLMIDI project

While the original ADLMIDI was developed slowly, 4 years ago I have began a fork called libADLMIDI - a library project I have made from off the original sources. The library project was grown into powerful MIDI synthesizer which is now using in various free projects include player plugins and game engines (For example, GZDoom).

There are two ways:

The Library project itself:

https://github.com/Wohlstand/libADLMIDI

It's not only an attempt to bootstrap so outdated original, but also make an ability to change the library part license into LGPLv2.1+ (The related discussion is here: #3)

`-w` should disable looping

It seems using -w to produce a .wav file will continue forever. I noticed when the file was at 400MB (36 minutes) and still growing. I suggest disable looping in this mode.

Distributing under LGPL?

Hello @bisqwit. Are you open to an idea of permitting distribution of ADLMIDI under LGPL or another license more permissive than GPL is?

There has been work on some library projects, by primarly @Wohlstand and myself, reusing the ADLMIDI code. [1] [2]. By virtue of the GPL license, these are derivative works of ADLMIDI, and by transitivity so are all projects touching these libraries by linking other than runtime loading.

Some projects are reluctant to integration of GPL-licensed code (as the latest example, dxx-rebirth).
Considering that our work is outside of the initial scope of ADLMIDI, maybe a change of license would now make some sense that it didn't at the creation of ADLMIDI.
We used to also be bound to GPL by Dosbox before, but that is no longer the case as it can be substituted with a LGPL-licensed NukedOPL3.

For a similar licensing reason as cited, Nuke.YKT has previously accepted to relicense his NukedOPL3 from Chocolate Doom, from GPL to LGPL to permit adoption in some projects.

So I ask kindly if you would be willing to permit such use of ADLMIDI. Thank you.

`adlimidi <midifile> -reverb none` crash

ADLMIDI: MIDI (etc.) player with OPL3 emulation.............
(C) -- http://iki.fi/bisqwit/source/adlmidi.html............/usr/include/c++/13.2.1/string_view:258: constexpr const std::basic_string_view<_CharT, _Traits>::value_type& std::basic_string_view<_CharT, _Traits>::operator[](size_type) const [with _CharT = char; _Traits = std::char_traits<char>; const_reference = cons
Program received signal SIGABRT, Aborted.
0x00007ffff78b932c in ?? () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff78b932c in ?? () from /usr/lib/libc.so.6
#1  0x00007ffff78686c8 in raise () from /usr/lib/libc.so.6
#2  0x00007ffff78504b8 in abort () from /usr/lib/libc.so.6
#3  0x00007ffff7bfe3b2 in std::__glibcxx_assert_fail (file=file@entry=0x555555578900 "/usr/include/c++/13.2.1/string_view",
    line=line@entry=0x102,
    function=function@entry=0x555555578800 "constexpr const std::basic_string_view<_CharT, _Traits>::value_type& std::basic_string_view<_CharT, _Traits>::operator[](size_type) const [with _CharT = char; _Traits = std::char_traits<char>; const_r"...,
    condition=condition@entry=0x555555578033 "__pos < this->_M_len") at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/debug.cc:61
#4  0x00005555555596c0 in std::basic_string_view<char, std::char_traits<char> >::operator[] (this=<synthetic pointer>,
    __pos=<optimized out>) at /usr/include/c++/13.2.1/string_view:256
#5  std::basic_string_view<char, std::char_traits<char> >::operator[] (__pos=<optimized out>, this=<synthetic pointer>)
    at /usr/include/c++/13.2.1/string_view:256
#6  ParseReverb (specs=...) at src/midiplay.cc:2525
#7  0x000055555555885a in main (argc=0x4, argv=0x7fffffffe018) at src/midiplay.cc:3248

(adlmidi compiled as of eded08f )

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.