[Patch] add hexter, the DX7 emulator

View: New views
5 Messages — Rating Filter:   Alert me  

[Patch] add hexter, the DX7 emulator

by Torsten Duwe :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all!

I found LMMS did not include one of my favority synths, the DX7
emulator "hexter" http://dssi.sourceforge.net/hexter.html ,
so I hacked up some glue to achieve this.

My main goal was to alter the hexter source as little as possible, in order to
benefit from any future development easily. Most of the work was simply
understanding and finding the APIs; If you could drop a note somewhere e.g.
in the README that says "the documentation is in the headers, RTFS" that
would help a lot to get started ;-)

Even there I couldn't find a clear description of what exactly an overloaded
instrument::play() method is expected to do, I hope I got it correct. Please
comment!

The code is early alpha, so use with caution. The GUI functions are all stubs,
and will crash LMMS when invoked; so all you currently get is the default
program of the electric piano. I could imagine to have some sort of DX7 patch
editor there, with a picture of one of the 32 "algorithms", and settings for
the 6 oscillators.

I would also like to hear some comments on the concepts of hexter "instances"
versus the LMMS plugin, and its own handling of "global" polyphony, as well
as the program changes possible for MIDI instruments.

Attached is only the absolute minimum code to stick hexter into lmms. You'll
need to

* grab hexter sources from sourceforge.

* move its "src" subdir to LMMS' "plugins/hexter"

* you may remove gui_*, Makefile* and hexter.c; they are not needed for LMMS.

* apply the attached glue patch

* untar the LMMS adaptor files from attached tarball

* compile and enjoy.

        Torsten

[attachment removed]

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
LMMS-devel mailing list
LMMS-devel@...
https://lists.sourceforge.net/lists/listinfo/lmms-devel

hexter-lmms-mini.tar.bz2 (31K) Download Attachment

Re: [Patch] add hexter, the DX7 emulator

by Tobias Doerffel-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Torsten,

Am Sonntag, 25. Oktober 2009 18:02:03 schrieb Torsten Duwe:
> I found LMMS did not include one of my favority synths, the DX7
> emulator "hexter" http://dssi.sourceforge.net/hexter.html ,
> so I hacked up some glue to achieve this.
Great stuff - thanks :)
I just took a rough look at the sources. If you plan this to be integrated
into LMMS finally your source should match LMMS' coding style guidelines (see
Wiki) - mainly indentation currently is broken in your files. Use tab for each
level of indentation (with ts=4 code should look fine).

However my concerns are dependencies of Hexter, especially Gtk. At least if
you plan to integrate the GUI as well, things will get complicated. The win32
build of LMMS will never be shipped with all the Gtk libraries.

> My main goal was to alter the hexter source as little as possible, in order
>  to benefit from any future development easily. Most of the work was simply
>  understanding and finding the APIs; If you could drop a note somewhere
>  e.g. in the README that says "the documentation is in the headers, RTFS"
>  that would help a lot to get started ;-)
Submit a patch ;)

> Even there I couldn't find a clear description of what exactly an
>  overloaded instrument::play() method is expected to do, I hope I got it
>  correct. Please comment!
Looks fine from what I saw..

> I would also like to hear some comments on the concepts of hexter
>  "instances" versus the LMMS plugin, and its own handling of "global"
>  polyphony, as well as the program changes possible for MIDI instruments.
One Hexter instance per LMMS plugin instance should be fine.

Keep up the work and I'll do a detailled review of a re-submitted patch later.
:)

Toby


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
LMMS-devel mailing list
LMMS-devel@...
https://lists.sourceforge.net/lists/listinfo/lmms-devel

signature.asc (204 bytes) Download Attachment

Re: [Patch] add hexter, the DX7 emulator

by Torsten Duwe :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sunday 25 October 2009, Tobias Doerffel wrote:

> into LMMS finally your source should match LMMS' coding style guidelines
> (see Wiki) - mainly indentation currently is broken in your files. Use tab
> for each level of indentation (with ts=4 code should look fine).

I see. Should we turn this into an .indent.pro and friends?

> However my concerns are dependencies of Hexter, especially Gtk. At least if
> you plan to integrate the GUI as well, things will get complicated. The
> win32 build of LMMS will never be shipped with all the Gtk libraries.

> > * you may remove gui_*, Makefile* and hexter.c; they are not needed...

GTK should vanish along with those gui_* files. Please give it a try!
As I wrote, that particular gui isn't what I would expect anyway.
Haven't yet checked the other dependencies though.

        Torsten

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
LMMS-devel mailing list
LMMS-devel@...
https://lists.sourceforge.net/lists/listinfo/lmms-devel

Re: [Patch] add hexter, the DX7 emulator

by Torsten Duwe :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sunday 25 October 2009, Tobias Doerffel wrote:

> Hi Torsten,
>
> Am Sonntag, 25. Oktober 2009 18:02:03 schrieb Torsten Duwe:
> > I found LMMS did not include one of my favority synths, the DX7
> > emulator "hexter" http://dssi.sourceforge.net/hexter.html ,
> > so I hacked up some glue to achieve this.
>
> Great stuff - thanks :)
> I just took a rough look at the sources. If you plan this to be integrated
> into LMMS finally your source should match LMMS' coding style guidelines
> (see Wiki) - mainly indentation currently is broken in your files. Use tab
> for each level of indentation (with ts=4 code should look fine).
This should be better.

        Torsten

[attachment removed]
[attachment removed]
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
LMMS-devel mailing list
LMMS-devel@...
https://lists.sourceforge.net/lists/listinfo/lmms-devel

Re: [Patch] add hexter, the DX7 emulator

by Paul Giblock-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello. I haven't had a chance to review your patch yet.

Thank you for your contribution!!   However, if it depends on GTK,
then we cannot ship it with LMMS
At least, it would have to be an optional feature.

You mentioned documentation on the instrument API. I suppose I should
place this in the source repository (Should I, Toby??), but here is a
link:

http://pgiblox.googlepages.com/example_instrument.tgz

This should give you all the explaination of the Instrument API that you need.

-Paul

On Wed, Oct 28, 2009 at 6:06 PM, Torsten Duwe <duwe@...> wrote:

> On Sunday 25 October 2009, Tobias Doerffel wrote:
>> Hi Torsten,
>>
>> Am Sonntag, 25. Oktober 2009 18:02:03 schrieb Torsten Duwe:
>> > I found LMMS did not include one of my favority synths, the DX7
>> > emulator "hexter" http://dssi.sourceforge.net/hexter.html ,
>> > so I hacked up some glue to achieve this.
>>
>> Great stuff - thanks :)
>> I just took a rough look at the sources. If you plan this to be integrated
>> into LMMS finally your source should match LMMS' coding style guidelines
>> (see Wiki) - mainly indentation currently is broken in your files. Use tab
>> for each level of indentation (with ts=4 code should look fine).
>
> This should be better.
>
>        Torsten
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> LMMS-devel mailing list
> LMMS-devel@...
> https://lists.sourceforge.net/lists/listinfo/lmms-devel
>
>

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
LMMS-devel mailing list
LMMS-devel@...
https://lists.sourceforge.net/lists/listinfo/lmms-devel