[LAD] OpenAV Releases Jan 2021

2021-01-15 Thread Harry van Haaren
Hey Linux Audio *,

After some time away, OpenAV is back with some updated releases! Much of
the work done in these releases
was in collaboration with the Linux Audio Developers and Uesrs community,
thanks for your contributions!

This release announce email includes ArtyFX 1.3.1, a dot release with
various bugs fixed and general cleanups.
A future 1.4 release will include more dramatic changes, including
addressing some open issues. Find 1.3.1 here:
https://github.com/openAVproductions/openAV-ArtyFX/releases/tag/release-1.3.1

But that's not all, Ctlra library for accessing USB hardware from music
software also gets a release!
Its a 0.1, there's still lots of work to do, but there's also progress
being made, so doing some releases to show
the actual progress is a good idea. This release contains Kontrol S5
support (including screens! :) and a bunch of
simplifications, reduced dependencies in the examples, cleanups,
optimizations and more! Find v0.1 here:
https://github.com/openAVproductions/openAV-Ctlra/releases/tag/release-v0.1

With that, thanks for reading, and hope to chat to yee all on #lad on
irc.freenode.net soon!
Regards, -Harry from OpenAV

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV Luppp 1.2 Release

2018-07-24 Thread Harry van Haaren
Hey All,

Its been a long time, but there's a new Luppp release out now, version 1.2
https://github.com/openAVproductions/openAV-Luppp/releases/tag/release-1.2.0

Huge thanks to all the contributors, this release was largely driven by
contributions,
and community interaction and interest in the Luppp project - thanks to
all!!

Keep an eye out, there is more stuff coming up soon! -Harry

---
Changelog:

Features:
-> clear clip with MIDI
-> build with meson
-> space triggers special clip
-> manual BPM input (right click on Tap-Button)

Improvements:
-> avoid noise on all controls
-> reduce default metronome volume
-> make label code consistent
-> fix compiler warnings
-> remove all hard coded scene numbers
-> add some debug outputs
-> metronome fancy fades
-> better icon file

Fixes:
-> fix several leaks and errors
-> fix broken waveforms
-> fix fltk/ntk conflict
-> fix generic MIDI launch bug
-> fix wrong output mapping
-> fix input signal flow
-> fix input volume for clip recording
-> fix timing issues after changing playspeed
-> fix scenes losing names once a scene is played
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] Plugin Toolkits (was ~ Forgive me, toss your Macintosh)

2017-12-10 Thread Harry van Haaren
On Sun, Dec 10, 2017 at 7:43 PM, Gordonjcp  wrote:

 Previous discussion about plugins using GUI library frameworks like
Gtk/QT, which are not designed for plugin usage. As a result, they export
symbols that may collide when loaded in a DAW and plugin, when DAW and
plugin are compiled against different version, ending up in a segfault that
is no single softwares fault, but one of usage of a library for a purpose
it is not appropriate for.

> So what would you write it in instead?

There are a range of toolkits / libraries available especially designed for
plugin usage.
In no particular order, the following come to mind. (Note, as OpenAV I'm
the author of Avtk(a), )

Toolkits / frameworks:
https://github.com/x42/robtk/  (meters.lv2, scopes.lv2 and other x42
software)
http://distrho.sourceforge.net/   (particularly the "DGL" component IIRC)
https://github.com/mruby-zest  (new Zyn Fusion UI toolkit)
https://github.com/wrl/rutabaga
https://juce.com/
http://openavproductions.com/avtk/ (and its WIP 2.0 version
https://github.com/openAVproductions/openAV-avtka)



Many of the above are based on a fantastic abstraction library from the LV2
author, specifically abstracting away platform and implementation details,
without any static data. That means it was designed for a purpose - like
embedding and plugin GUIs: https://github.com/drobilla/pugl


I have previously used Gtk, FLTK/NTK, and other toolkits. None of them are
guaranteed to work correctly in DAW X that links to the same libraries.
They're just not designed for that use case - and that's fine. But we (as
developers) need to be careful to not consume a library in a way not
intended for it to be used..

As such, Avtk is developed on PUGL to ensure there is no static data, and
to fix lots of other potential issues that many toolkits have (forking new
threads, waiting for a response in a thread while displaying a modal
dialog, using static caches for data, etc...) For details on AVTK, there
was a presentation at LAC '15 video, slides + paper available[1].

OpenAV dog-fooded[2] writing the ArtyFX[3] plugins using the AVTK library
for the UIs. Based on the experience, I'm developing AVTKA (Avtk v2) in
plain C, with emphasis on ease of use and simplicity in getting lightweight
plugin interfaces built. This makes it easier to use the toolkit for LV2
plugin UIs, as well as a range of other uses. An example of other uses is
creating "virtual hardware" devices for the Ctlra library, inside existing
audio software without needing to care which UI toolkit: eg: Mixxx + Ctlra
virtual interface, built using PUGL + AVTKA. A demo video of exactly that
from the Sonoj event available here[4].

As you may notice, I'm a little passionate about doing the right
engineering in terms of solving the UI toolkit + plugin problem. As
hardware controllers are getting more fully-featured, they also have
screens available. In order to capitalize on thier potential, we need to
handle this use case too - so we can have user-interfaces on Desktop, DAW,
and Hardware controller that have similar look and feel.

Looking forward to what the next steps are in Linux Audio Community start
doing, with these root problems addressed, and various solutions
available...
Regards -Harry

[1] http://lac.linuxaudio.org/2015/video.php?id=14
[2] https://en.wikipedia.org/wiki/Eating_your_own_dog_food
[3] https://github.com/openAVproductions/openAV-artyfx
[4] https://youtu.be/qHt-AQHcBXg?t=1237

--

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Drift compensation document

2017-09-08 Thread Harry van Haaren
On Fri, Sep 8, 2017 at 6:28 PM, benravin  wrote:

> Hi Paul,
>
> I feel its better to add these support as well in JACK framework, like
> sending control signals, notifications etc, rather than user has to
> implement these.
>

Hi Ben,

Please be aware of "top posting" - it is good manners to reply under a
message, so the context of the reply is maintained.

In response to your comments above, I will politely disagree. While a
library or framework to do async messaging etc might be useful to some JACK
users, it will certainly not benefit everybody. As such, it should be a
separate project, and not demand that existing JACK users also have to deal
with this extra complexity/functionality.

Some googling will likely lead you to multiple frameworks or libraries that
provide lock-free programming constructs like queues, FIFOs, locks etc.
There's even a few old threads on this mailing-list[1] about it :)

Regards, -Harry

[1] http://lalists.stanford.edu/lad/2011/11/0150.html


> --
> Sent from: http://linux-audio.4202.n7.nabble.com/linux-audio-dev-
> f58952.html
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> https://lists.linuxaudio.org/listinfo/linux-audio-dev
>



-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] DSP transients

2017-09-03 Thread Harry van Haaren
On Sun, Sep 3, 2017 at 3:02 PM, Will J Godfrey 
wrote:
>
> On Sun, 3 Sep 2017 13:35:47 +
> Fons Adriaensen  wrote:
>
> >On Sun, Sep 03, 2017 at 08:50:08AM +0100, Will Godfrey wrote:
> >
> >> Does anyone know of software that can log these without significantly
adding to
> >> the load itself?
> >
> >What do you call a transient in this context ???
> >
> >
> >Ciao,
>
> I'm particularly wanting it investigate the behaviour at note-on. If
possible,
> the absolute peak relative to the background working level. Also the
'shape'.
> Is it a flat topped lump, or a narrow spike over a few samples rapidly
fading
> down.
>
> I'm hoping that if I can see and (hopefully) understand exactly what is
> happening it will help me work out how to mitigate it, and indeed if
changes
> are really improving the situation. Currently my only form of test is to
run at
> the edge of getting Xruns - very many times :(


So the "poor mans method" that I'd first attempt is to just read the TSC
from the CPU
at the start of the process() callback, and then again at the end. The time
between them
is CPU "ticks" that it took to process the audio. So far so good.

To make this some bit more reproducable, you could consider some sort of
automated
tests, where the note-on events are generated inside Yoshimi itself, and
then correlate
the note-on events with the DSP load. (If one note isn't enough, send 2000
notes :)

If you keep an array of uint64_t process_ticks[], and each process() call,
increment to store
the next ticks value in the array, you have a lovely array afterwards full
of "ticks", which can
be plotted using your favorite plotting software ( fprintf(file, "%f\n",
value) to a file + Gnuplot is a good hack)

This won't tell you *where* in the code the issue is - but does give you a
reproducable test
case and some input on if DSP load is consistent. If you want to know
*where* in the code most of
the time is spent, then using linux perf tools or similar might be useful.

HTH, -Harry

--

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] youtube blocks LAC 2017 May 18 AM

2017-05-22 Thread Harry van Haaren
On Mon, May 22, 2017 at 2:04 PM, Thomas Cipierre  wrote:

> Dear LAC2017,
>
> I’m part of the LAC2017 committee, and was nearly all the time involved in
> the IRC #LAC2017 freenode channel as tcUJM (except one chairing session).
>

Hi Thomas,

Thanks for taking excellent care of #IRC during the LAC, I'm sure it made
people remotely attending feel welcomed!



> For those who were there, I already replied that there was actually a real
> copyright problem, since Thierry indeed used copyrighted material during
> his talk. However, he has the right to do so, having all the documents
> needed on INA (standing for Institut National de l’Audiovisuel – which
> could be translated to Audiovisual National Institute) material, so we are
> currently solving this problem.
>
> Philippe, our LAC streaming technician is working onto this – but he needs
> some more time to edit videos, since he is needed on a lot of other
> projects in our university.
>
> We are sorry for the temporary side-effect on Harry’s brilliant talk.
>

No problem at all - I understand this may take some time to resolve.


> Thanks to all of you, I was thrilled being involved in this LAC and
> meeting several of you. I definitely look forward to seeing you again on
> forums, mailing lists and in future projects.
>

Unfortunately we didn't get talking - next LAC perhaps? :D

Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] LAC 2017 Program - Linux Audio Conference in Saint-Etienne

2017-05-03 Thread Harry van Haaren
On 3 May 2017 22:53, "Simon van der Veldt" 
wrote:

Well, this will be my first LAC, so I'm pretty new to all of this, but I'd
very much like to join if that's OK.
As long as they have something vegetarian that's half way decent I'll be
fine :)


+1 I'm in for pre-conf dinner!


Looking forward to meeting all of you!


Same, some new faces and a few from before :)

See yee there! -Harry

Simon

On Wed, May 3, 2017 at 11:03 AM, Albert Graef  wrote:

> On Tue, May 2, 2017 at 9:20 PM, Rui Nuno Capela  wrote:
>
>> yes, libanese ftw.
>
>
> According to Laurent, the food is good there but the place is rather
> small, so we might have to reconsider if more people want to chime in. So
> please let us know by posting to this thread if you plan to join us, so
> that we have a good estimate of how many people we'll be.
>
> Also, any students who want to join us? The Byblos isn't exactly on the
> cheap side, the mezze is some 18€ per person, so that's something to take
> into consideration as well.
>
> That said, I'd really like to try that one. :)
>
> Albert
>
> --
> Dr. Albert Gr"af
> Computer Music Research Group, JGU Mainz, Germany
> Email:  aggr...@gmail.com
> WWW:https://plus.google.com/+AlbertGraef
>
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
>

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV Release Spree, Dec 2016

2016-12-24 Thread Harry van Haaren
Hey All!

OpenAV has just pushed releases for Luppp, ArtyFX, Fabla, and Sorcer!
Release Video: https://youtu.be/s07wNn9Xc7s

But what's more, there's now an OpenAV Manual: detailed and useful
information
about all of the OpenAV projects, and what features they can do for you:
http://openavproductions.com/doc/

Short changelogs:

LUPPP:
- JACK FX Sends per track
- Fixes for most (all? ;) known bugs, including:
-- timing issues with clips drifing out of sync fixed
-- audio fader volume not totally silencing output fixed
- More controller scripts: Launchpad S, APC Mini, APCKey 25
- UI improvements
- Documentation at http://openavproductions.com/doc/luppp.html

ArtyFX
- 1st release based on AVTK
- New look-and-feel, same awesome DSP / presets
- No longer depends on NTK
- Documentation at http://openavproductions.com/doc/artyfx.html

Fabla
- Documentation at http://openavproductions.com/doc/fabla.html
- Look and feel upgrade for consistency

Sorcer
- Look and feel for consistency
- Documentation at http://openavproductions.com/doc/sorcer.html


In all - quite a lot of changes! Releases available from the OpenAV
Github project page: https://github.com/openAVproductions
Packagers, on-your-marks, get-set, take it easy for the holidays,
but package in the new year if you want to :)

Special shout out to Gerald Mwangi (JimsonDrift) and George Krause
for thier pull-requests and contributions to OpenAV!

Happy holidays & new year ya'll :)
Cheers, -Harry from OpenAV

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Portaudio or something else?

2016-09-08 Thread Harry van Haaren
On Thu, Sep 8, 2016 at 8:54 AM, Christopher Arndt 
wrote:
> Am 08.09.2016 um 09:25 schrieb Bengt Gördén:
>> Is Portaudio the best choice for portability or
>> is there some other option that might be better?
>
> You might want to have a look at RtAudio or even JUCE too.


RtAudio I can recommend - it provides a realtively simple API and has a
large user-base.
JUCE implements its own audio classes - but also "everything else and the
kitchen sink".

If this is a simple programming excercise, I recommend using RtAudio
(instead of JUCE or PortAudio).
RtAudio is just two files, compile in and no external dependencies.

My two cents : )  -Harry

--

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Realtime inter-thread communication

2016-02-29 Thread Harry van Haaren
On Mon, Feb 29, 2016 at 7:52 PM, Spencer Jackson 
wrote:
> > The generic solution for cases like this is a lock-free ringbuffer.
> I've also used the jack ringbuffer for this and it was easy enough.

Simple tutorial on using JACK ringbuffer and C++ event class here:
https://github.com/harryhaaren/realtimeAudioThreading

> >> But to be honest I've found this API to be a bit intimidating and I'm
> >> not familiar with any LV2 host that would allow me to test such a
> >> plugin. Any recommendations? Ardour?
> >
> > jalv, Carla, QTractor, Ardour..

+1 for Jalv, very fast turnover time, and LV2 implementation
by the lead LV2 developer: I concider it the reference implementation :)

> > A LV2 simple synth example can be found at
http://lv2plug.in/book/#_sampler
>
> I like jalv for debugging because its quite simple and quick to load.
> I can run it with gdb and valgrind/callgrind without any trouble. I've
> found it important to test in other hosts too though but only once its
> working in jalv.

+1 again

> FWIW I hope you do make an LV2 plugin version as I rarely use
> standalone synths these days.

+1, and LV2 is supported by MOD (hardware platform that runs LV2):
http://moddevices.com/ and https://vimeo.com/92739423

> If you have any questions about my code I've linked you are welcome to
> ask. Also, LV2 has a ML and IRC channel and I'll be happy to offer any
> advice or support there that I can too.

Same!

Cheers, -Harry

--

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] MOD and OpenAV on FLOSS Weekly Interview

2016-02-23 Thread Harry van Haaren
Hi All,

Just a note that today(Tuesday 23rd) OpenAV Productions[1] and MOD[2]
will be interviewed by the FLOSS Weekly show.

Live link, 5:30 pm Irish / UK time:  https://twit.tv/live

Use this link to figure out what time that is in your time-zone :)
http://www.timeanddate.com/worldclock/fixedtime.html?msg=OpenAV+and+MOD+on+FLOSS+Weekly&iso=20160223T0930&p1=4986&ah=1&am=10

Have a question during the show? Join the #irc room, details at [3]!

Cheers, -Harry

--

[1] http://www.openavproductions.com
[2] http://moddevices.com
[3] http://openavproductions.com/floss-weekly-interview-with-mod/
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] cpu spikes

2016-02-08 Thread Harry van Haaren
On Mon, Feb 8, 2016 at 10:07 AM, Fokke de Jong 
wrote:

> And the result is super-stable audio with a period of 32 samples @48Khz
> (for a total roundtrip latency of 3.5ms).
>

Congrats, that's pretty solid! Would you share some details on what config
options you used, and which kernel it is?

I think it would be great if the Linux Audio community built up a list of
kernel config options that need changing for optimal audio performance.

Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] RME madi latency

2016-02-04 Thread Harry van Haaren
On Thu, Feb 4, 2016 at 11:22 AM, Fokke de Jong 
wrote:
> So now i am a but confused how to get the same kind of latency in my own
code (using alsa directly rather than through jack)

Are you coding ALSA yourself, or using a helper library? I can recommend
Fons' zita-alsa-pcmi, latest version from:
http://kokkinizita.linuxaudio.org/linuxaudio/downloads/

Its a lightweight GPLv3 wrapper class around the ALSA API to make it easier
to use for real-time audio applications, and I have found it a pleasure to
work with.

> How can i make alsa not wait until the entire buffer is full?

I don't know the answer, because I used the zita-alsa-pcmi and just wrote
audio into the buffers :)

Cheers, -Harry

--

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Linuxaudio.org server migration

2016-01-27 Thread Harry van Haaren
On Wed, Jan 27, 2016 at 6:22 PM, Ivica Ico Bukvic 
wrote:

> The migration should be now complete. Please let us know if you encounter
> any problems.
>

I clicked a heap of links, and tried breaking it - did not manage :)
Thanks for your effort - appreciated!

Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] cpu spikes

2016-01-24 Thread Harry van Haaren
On Sun, Jan 24, 2016 at 2:03 PM, Fokke de Jong 
wrote:

> Currently working on some realtime convolution with lots of channels and
> low latency requirements, but I am running into some unexpected cpu-spikes
> and hope some of you might have an idea of possible causes.
>

Keep an eye on the interrupts while its all running, particularly
Non-maskable interrupts. Try to correlate them with the 0.6 sec
of the glitches if possible;

watch -n 0.1 cat /proc/interrupts

I've written up some of the checks I generally do, perhaps browse
that to see if there's anything there that you could check?
http://openavproductions.com/real-time-latency-tuning/

Thats all I can think of at the moment, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] JACK and vanilla 3.19.2 startup issue

2015-06-08 Thread Harry van Haaren
On Mon, Jun 8, 2015 at 10:18 PM, Gerald  wrote:

> Just out of interest: why are you trying to run jack as root?


$ whoami
root

I am root, a user who likes to run JACK for audio :)

Cheers, -Harry

PS: Yes I'm aware of security concerns etc

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] JACK and vanilla 3.19.2 startup issue

2015-06-06 Thread Harry van Haaren
On Sat, Apr 4, 2015 at 8:13 PM, Adrian Knoth 
wrote:

> Not enough information. I recommend starting jackd with strace
>
Done - apologies for the delay. Strace output available[1], but the most
interesting part copied here:

sched_get_priority_min(SCHED_FIFO)  = 1
sched_setscheduler(0, SCHED_FIFO, { 1 }) = -1 EPERM (Operation not
permitted)
write(2, "\nJACK is running in realtime mod"..., 87
JACK is running in realtime mode, but you are not allowed to use realtime
scheduling.
) = 87



> This code tries to call sched_setscheduler() with SCHED_FIFO. My bet is
> that your "almost vanilla kernel" fails to fulfil this request, but
> strace will tell you for sure.
>
By "almost vanilla" I meant the Arch linux packaged version - I didn't
change the config myself (and Arch aims to be true to vanilla). A very
accurace prediction though - indeed sched_setscheduler() is causing a
return of -1. This is running as root though - so something is wrong here.


> The question is why said call should fail. The only thing that comes to
> my mind are CGROUPS. Maybe your old kernel comes without, the new kernel
> supports them and the configuration is set in a way that disables
> SCHED_FIFO by default.
>
Perhaps - I'm not experienced with cgroups or such, if anybody has any test
ideas for me I'll try them out?

Cheers, -Harry

[1] http://openavproductions.com/tmp/straceJackd.txt
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [LAU] Linux Audio Berlin user group

2015-05-04 Thread Harry van Haaren
Hey All,

What time and where is the plan? Just so I can push a bit of publicity
on OpenAV's twitter etc :)

Cheers, -Harry

On Fri, Apr 24, 2015 at 1:43 PM, Sam Tuke  wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
>
> Hey David,
>
> On 22/04/15 09:04, David Runge wrote:
>> The less mailman to configure for me on Debian-based systems, the
>> better! ;) May 6th sounds good! Any thoughts on what time? I
>> suppose early evening? 8PM okay?
>
> Let's check with C-Base for the time; maybe they have particular
> requirements.
>
>> I just subscribed to the one you mentioned below. What are your DNS
>> issues exactly? Zone file/ MX record related? Seems okay from the
>> outside (if you host your stuff on gandi exclusively):
>
> I think it's all fixed now, but we're doing some more testing to be
> sure. The mailman server didn't have a mailserver until yesterday, and
> when it did, the mailman aliases needed reconfiguring. Now that's done.
>
> See you on the list :)
>
> Sam.
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v2
>
> iF4EAREIAAYFAlU6OmEACgkQ1bR1Itj7YQWxfQD/V1nH7ExUlwgJaejTnHTTpgYq
> Sr/sN5H5k+Rf06uu834BAMhl3E9kcBieHnvvldpkAI9rLF9LjtMAeGLVAoUUpfhN
> =PE32
> -END PGP SIGNATURE-
> ___
> Linux-audio-user mailing list
> linux-audio-u...@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-user



-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] GuitarSynth

2015-04-27 Thread Harry van Haaren
On Tue, Apr 28, 2015 at 12:57 AM, Tim E. Real  wrote:
> The effect is striking. You can hear it without even plugging the guitar in.
> As you adjust the pickup ever higher, and pluck the strings, you can
>  hear the horrible overtones from the frequency splitting.

Wow really? I didn't know that.. but I'll try it tomorrow!

Thanks for the 'note' ;) -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] User eXperience in Linux Audio

2015-04-24 Thread Harry van Haaren
On Fri, Apr 24, 2015 at 2:26 PM, Len Ovens  wrote:
> In my opinion the best slider will allow the pointing device (finger or
> mouse) to be placed anywhere on the slider and moving the mouse will move
> the value from where it was in the direction the finger moves. (Ardour fader
> for example, but lots get this right)

+1. Jumps in output value should be avoided but interaction should
occur immidiatly on movement - this is the only choice that satisfies
those criteria.

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] User eXperience in Linux Audio

2015-04-23 Thread Harry van Haaren
Hi *,

Some good points, and interesting points of view. @Thijs van Severen:
I completed various UX / UI modules during my undergrad - that,
together with the most obvious lacks (IMO) of Linux Audio UX is what
prompted my composing of that exact list.

> Tracey Hytry wrote:
> a brief splash screen gives me  feedback
> if the program is not working correctly  debug it

Yes - both very good points. The latter (crashing on open) is
particularly important, because if no splash exists, users expect the
app is broken.


> Fons wrote:
> Using a splash screen to fix that is at best a bandaid

Agreed, it is not the ideal situation, but it is much improved over no
indication of feedback. Although a power-user probably won't care much
for a splash screen, to novice users it does provide "visibility of
system status", #1 from Nielsens UX heuristics.


> Paul Davis wrote:
(about the GUI Lock feature) - nice touch, and certainly something to
be concidered for any "live use" software - noted as important. No
synth or DAW should bomb out on Ctrl^Q during recording / playback,
perhaps even with a confirm dialog when


RE Dial Interaction:
@Vytautas Jančauskas - For on stage use, I concider anything except
"slider" style interaction with dials completely useless. I propose to
any project using "radial interaction" style widgets to switch to
"slider style" interaction.

If moving 4px can cause a value jump by 50%, it is not safe to
interact with that dial during a performance. Gain knobs are common
offenders here - particuarly in Distortion / FX plugins. "Slider"
style interaction has no disadvantage in the on-stage usecase, hence
any OpenAV software (and AVTK) have the slider style interaction.

> Thorsten
>> RE Blender UI:
Its very complex yes - its also pretty cool in the features it
provides. Hotkeys to hide and show parts of the UI are a nice touch
for power users, and a lot of work and thinking has been put into the
UI. I'm a fan - but I'm a long term Blender user, so I can't
objectively comment on how UX freindly it is for novices..

>> Re Radial Dials:
Is there a disadvantage to "slider" style interaction here? Set a
middle rate of change, and allow the user to use various hotkeys to
increase / decrease it? This avoids the "4px 50% jump" issue, which is
IMO catastrophic for live-use.

Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] User eXperience in Linux Audio

2015-04-18 Thread Harry van Haaren
Hi All,

As promised just at the closing ceremony of LAC, an email opening the
discussion of User Experience on Linux Audio. To all Developers,
please use this as a checklist and consider supporting each item. It
will improve the user experience.

1: Splash Screen
If an app takes more than one quarter of a second to open, use a
splash screen to give feedback. Feel free to contact me directly to
collaborate on a splash screen graphic if necessary. Ensure the splash
is shown immediately, before lengthy operations such as scanning for
files or loading content.

2: Presets
Synths and Effect plugins often provide presets - show a preset
selection "in" the main UI, or 1 click away. A fast way to browse
presets greatly enhances UX when searching for a sound. Ideally
support "scroll-wheel" interaction for changing presets.

3: Hotkeys
- Ctrl Q,  Quit
- Ctrl W, Close Project
- Ctrl S, Save
- Ctrl Shift S, Save As
- Escape, Context sensitive "close"

I'm aware most of the recommendations above are obvious, and that many
programs support these already.
Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV ArtyFX 1.3 Call for testing

2015-04-06 Thread Harry van Haaren
Hi All,

As OpenAV it is my pleasure to call for testing of ArtyFX 1.3.
The code is available online right now! [1]

New plugins include:
- Driva (Guitar Distortion)
- Whaaa (Wah pedal)

Credits:
- Whaaa DSP from WAH Plugins by Fons
- Driva distortion algorithms ported from Rakarack project

OpenAV may still change parameters based on feedback - note this is a
call for testing. But its sounding pretty awesome already here ;)

Stay tuned for an official release announcement after the LAC[2], and
tune in to the OpenAV AVTK + other important OpenAV news.. Cheers!
-Harry

[1] https://github.com/harryhaaren/openAV-ArtyFX
[2] lac.linuxaudio.org/2015/
[3] http://lac.linuxaudio.org/2015/speakers?uid=22

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] JACK and vanilla 3.19.2 startup issue

2015-04-04 Thread Harry van Haaren
Hi All,

As root, starting JACK1 0.124.1 on an almost totally vanilla
3.19.2-1-ARCH kernel fails. Output of kernel with JACK1 issue is
pasted below[1]. The same system works fine with the 3.18.9-rt5-1-rt
kernel.

Running "groups" tells me there is no group other than "root", so JACK
seems to misinterpret that there is an audio group on the "broken"
kernel.

Any suggestions as to what's going on? Thanks, -Harry

PS: I'm aware of the reasons to not run JACK as the root user or login
as root for daily use.

[1] Output while running "broken" kernel:
[root@audio ~]# jackd -ddummy
jackd 0.124.1
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben
Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK is running in realtime mode, but you are not allowed to use
realtime scheduling.

Your system has an audio group, but you are not a member of it.
Please add yourself to the audio group by executing (as root):
  usermod -a -G audio (null)

After applying these changes, please re-login in order for them to take effect.

You don't appear to have a sane system configuration. It is very likely that you
encounter xruns. Please apply all the above mentioned changes and
start jack again!
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] jack2 API

2015-03-31 Thread Harry van Haaren
On Tue, Mar 31, 2015 at 2:02 PM, Vaclav Mach  wrote:
> What am I doing wrong? Or is it a bad way of using JACK2?

Hi,

You seem to want to write JACK clients - using C++. To do this you use
the JACK C API, which is the same for JACK 1 and JACK 2. Details of
the difference between JACK1 / JACK2 available[1] - but note that as a
JACK client developer, you do *not* need to care :)

> For example: instead of #include  I'm trying to #include 
> "jack2/JackServer.h".
You misunderstand how JACK2 works - JACK2 implements the same JACK C
API as JACK1. You do not need to, and should not directly include any
JACK implementation in your code.

Hope this makes some sense, cheers, -Harry

[1] 
https://github.com/jackaudio/jackaudio.github.com/wiki/Q_difference_jack1_jack2

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] fftw_complex and C++11

2015-01-04 Thread Harry van Haaren
>
> On Sun, Jan 4, 2015 at 4:30 PM, Aurélien Leblond 
> wrote:
> >> - Compile this plugin with C99 - that's the solution I have in the git
> >> at the moment but I get the warning "cc1plus: warning: command line
> >> option '-std=c99' is valid for C/ObjC but not for C++ [enabled by
> >> default]" and call me pedantic but I don't like warnings!
>
As far as I can tell, you're passing the -std=c99 flags to a C++ compiler.
Make your build-system use a C compiler for said C file (generally renaming
the extension to .c instead of .cpp/.cxx is enough).

Also ensure you're passing the flags to CFLAGS and not CXXFLAGS.

Hope that fixes the warnings! Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Some things to play with during the Xmas holidays

2014-12-21 Thread Harry van Haaren
On Sun, Dec 21, 2014 at 12:42 PM, Fons Adriaensen 
wrote:

> The first release of pyjacktools is now available at
>

Wow! this will be really useful for testing and verification: thanks for
the early Christmas presents :)

Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Wave shapes & forms

2014-10-21 Thread Harry van Haaren
On Tue, Oct 21, 2014 at 2:56 PM, Philippe Coatmeur  wrote:
>
> Sends a sine wave to output (this is the standard sin
>  math function, right?)
> then what would send a square wave? What would send noise?
>

If only it were so simple... Sine waves are a single frequency, which makes
it "easy";
-Generate the sine using sin() from , input desired freq in rads.

Noise is random().. that's a good hint.

For square waves (or any "complex" signal actually), you need to be aware
of aliasing[1].
There are a number of ways of generating bandlimited square waves, but
"additive synthesis" or adding of sines is probably the best way to learn /
understand aliasing and its effects.

The guys at MusicDSP archives[2] have a variety of oscillators and other
synth building blocks. If you're trying to get things done, I advise using
other peoples code: things get very complex pretty quickly... unless your
aim is to understand this stuff, then merry learning!

I've been doing a wavetable synth[3] which causes aliasing if done wrong
very quickly, again, digging around the internet provides good resources to
learn from.

HTH, -Harry

-- 
[1] http://en.wikipedia.org/wiki/Aliasing#Sampling_sinusoidal_functions
[2] http://musicdsp.org/archive.php?classid=1
[3] http://openavproductions.com/ninja
http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Fwd: Re: How can an LV2 plugin UI get the value of a control port from the plugin?

2014-10-20 Thread Harry van Haaren
On Mon, Oct 20, 2014 at 12:26 PM, Philippe Coatmeur  wrote:
>
> Now for the direct questions:
>
>- Is it a proper NTK widget class declaration, that would expose a
>value() method?
>- Are those proper NTK widget class instances?
>
> You must derive from an NTK widget in order for it to work properly. See
(pseudo) code:

// derive from slider, to provide
// - value() : to get the current value
// - value(float newVal) : to set a new value
// - redraw() will cause the widget to get repainted at the next
opportunity.
class MyWidget : public Fl_Slider
{
  public:
MyWidget( int, int, int, int, const char* ) :
Fl_Slider( ... blah blah ... )
{
// set default value:
value( 0.5 );
}

void draw()
{
// draw stuff based on value() here
line_to( 0, width * value() );
}

// note: there's no *explicit* value() function here, it's inherited from
Fl_Slider.
};

class NtkLv2UI
{
  public:
NtkLv2UI()
{
wid = new MyWidget( 10, 10, 200, 25 );
}
MyWidget wid;
};


NtkLv2UI::port_event()
{
  if ( portNumber == VOLUME )
  {
 wid->value( portValue );
 wid->redraw();
  }
}

Hope that clears things up somewhat, -Harry

PS: Hermann, FLTK / NTK will delete child instances when a window is
deleted. The window itself should be deleted though!

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Fwd: Re: How can an LV2 plugin UI get the value of a control port from the plugin?

2014-10-20 Thread Harry van Haaren
On Mon, Oct 20, 2014 at 1:39 AM, Philippe Coatmeur  wrote:


Hi Philippe,

I can't follow the issue you're having here: you've sent 8 emails, most
with different questions with a layout that is hard to follow: please be
more careful in what text you reply to, and remove all the rest of the
email. Then make sure you're repling to the "linux-audio-dev" list, and not
(only) to the individual.

If you're struggling with code, take a step back, and write a single email,
with a direct question, that sums up what you're trying to learn.


Eg:
How does setValue() work to updated a widgets value in NTK, in the context
of an LV2 plugin?

To which I would answer:
Most NTK widgets that have a "value" like a slider or a dial, derive from a
base class that implements value() and value( float );

What this means for a widget, is that in order to change the value of a
widget called "wid", we do this:
wid->value( 0.0f ); // sets widget value to 0

What you will see here:
https://github.com/harryhaaren/openAV-ArtyFX/blob/master/ui/crusher.h#L156
Is the value() call, which returns the value stored in the base class, aka
0.0f in this case.

To connect an LV2 port to a widget, in port_event() have this type of code:
https://github.com/harryhaaren/openAV-ArtyFX/blob/master/bitta/gui/ui.cxx#L116
Which checks the port number, and assigns the incoming value to the widget,
using the value( float ); call.

Its pretty simple right? Cool.

RE: the other emails, Yes Sorcer uses NTK, NTK is in turn based on FLTK,
and to maintain backwards compatibility with existing code, the function
names weren't changed.


HTH, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] How can an LV2 plugin UI get the value of a control port from the plugin?

2014-10-17 Thread Harry van Haaren
On Fri, Oct 17, 2014 at 1:30 PM, Phil CM  wrote:

> Also each time the UI is opened, the widgets are reset at maximum (not the
> values).
>

Hi Phil,

Glad to see you're excited and working hard on learning LV2! Checkout the
example plugins: they show how things work.

In the UI, there is a  port_event()  function. It tells the UI what port
changed, and what its current value is. Use this to do widget->setValue(
newValue ); and you're done ;)

Eg (from OpenAV's ArtyFX, Bitta plugin)
https://github.com/harryhaaren/openAV-ArtyFX/blob/master/bitta/gui/ui.cxx#L131

How can I *get* the control ports values from the UI perspective?

In answer to your Q, how to "get", you don't: you're told when there's a
new value.

HTH, Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Experience driven design and Linux Audio

2014-10-02 Thread Harry van Haaren
Fons wrote:
> The many times I've had to set a delay time the most convenient unit could 
> have been samples, millisecs or meters (at the speed of sound), depending on 
> the context
Sure, there are uses (particularly your fields of WFS, Ambisonics, and
related) where such uses are prevailent. Aka, "context". Musicians are
very rarely in a context when ms, meters or samples is of any
relevance to what they are trying to achieve.

I'm not trying to belittle either use case here: but highlighting that
there are different use cases, and that using tools designed with
units like "speed-of-sound-in-air" and "meters-of-delay" are not
usable for musicians. Similarly, I think you'll agree that trying do
correctly compensate for the non-ideal location of a specific speaker
using BPM and 1/4 notes delay time isn't a workflow you'd care for.

Patrick Shirley wrote:
> A way to enhance usability across the board might be to have an "app of the 
> week" where everyone in the Linux Audio community is encouraged to run it and 
> provide any feedback
I think this is a brilliant idea, and should be done: @Patrick, if you
wish to take the initiative to make this happen, I leave it to you. If
you're not interested in doing it yourself, I would like to pick up
such an incentive.

I'd could only start in a few weeks, and would take a slightly more
relaxed approach "app of the month" perhaps, and use the projects
bug-tracker for feedback: sending lots of feedback-traffic trough LAU
wouldn't seem appropriate to me.

Paul Davis wrote:
> Link to video
Interesting to see that larger companies and musicians also "battle"
the same issue, that there isn't any clear consensus on "obviously" it
should be done this way. Thanks for linking, I hope to watch the whole
clip another time.

Will Godfrey wrote:
> I think this relates back to the topic as in who's experience should lead the 
> design?
Very good point: and something I'd like to address: If I (as OpenAV)
recieved more feedback, I'd have a better idea of what people wanted.
Voicing concerns is hugely important here: hit me with emails /
github-issues if there are specific things you'd like to see change!


General commentary:
I guess that makes it clearer to me, "design with experience in mind,
not features".

This is something I think I (as OpenAV) may not have been doing enough
while developing Luppp, and hence am currently re-organizing the
priorities of a live-performance / looping workflow.

Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] LV2 Pitch bend control port (and function)

2014-10-02 Thread Harry van Haaren
On Thu, Oct 2, 2014 at 7:02 PM, Phil CM  wrote:
> Funny, I was just reading your blog post about it :)
Its pretty outdated by now, lv2plug.in/book is the new resource IMO.
But I'm leaving it there for the sake of it :)


> But I cannot get it to build because of a gtkmm error:
>  #include 
Sounds like a linking issue: i think special GTK2 flags need passing
now? GTK3 probably doesn't have a drawingarea or something. Dunno, I
don't use it anymore.

> Although I do have both
> libgtkmm-2.4-dev: /usr/include/gtkmm-2.4/gtkmm.h
> libgtkmm-3.0-dev: /usr/include/gtkmm-3.0/gtkmm.h
Hmmm dunno again. Sorry.

> installed... I too find NTK really nice and lightweight, BTW. I know it
> because it's used by Fabla, Sorcer, NSM etc.
Cool!

> A simple sine-generating synth
> plugin with a NTK GUI would be a cool place to start, I must say.
Good idea, I'm working on it. There's a single compile error right
now, that has something to do with includes and LV2UI_Show_Interface
and LV2UI_Idle_Interface (details, nevermind :)

I'll post in this thread once its fixed, and then that's that :)

Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] LV2 Pitch bend control port (and function)

2014-10-02 Thread Harry van Haaren
Hi,

When replying, please be careful to reply to the list, as well as the
person: otherwise 1/2 a conversation gets lost ;) I've included
linux-audio-dev@lists.linuxaudio.org  again.

On Thu, Oct 2, 2014 at 4:13 PM, Phil CM  wrote:
>
> On 02/10/2014 14:13, Harry van Haaren wrote:
>>
>> On Thu, Oct 2, 2014 at 1:14 PM, Phil CM  wrote:
>>>
>>> I need a synth with a pitch control. A synth that can be controlled to
>>> produce all tones between one note and another, say from a2 to c3 in an
>>> anti-aliased way, like what you would get in pd by altering the pitch of
>>> a
>>> sine wave.
>>
>> Hi Phil,
>>
>> To start, welcome to LV2 programming: audio plugins are fun and complex
>> area!
>
> Thanks :)
>>
>>
>> If you haven't already, I suggest you checkout the "plugins" directory
>> in the lv2 repository. It provides the best example code you'll find,
>> and accompanying http://lv2plug.in/book/  provides detailed
>> explainations and best-practices.
>
> This is my bedside reading for the next days to come ; Too bad the examples
> do not include a simple synth :(
That's what I thought too, so I wrote a sin-generator a few years ago:
it apparently hasn't been included in the lv2 source yet. I'll CC
David Robillard, and see if that's an option :)

https://github.com/harryhaaren/lv2/tree/master/plugins/eg-sinsynth.lv2

I remember now that it doesn't accept MIDI input yet: which means it
doesn't handle notes, or pitch bend. These can be added quite
trivially, and is something that I'd be willing to collaborate on?
You'd learn how to "manually" use MIDI, and we'd have a better
resource.

Please note that the GUI code is NOT something to learn from: its not
advised to use GTK for plugin UI's.
That said, the code is pretty short, and does actually work: perhaps
learn from it, and then use a more lightweight UI framework ( NTK
being my / OpenAV's favorite: http://non.tuxfamily.org/wiki/NTK )


> OK, so I'm going to get back once I managed to make a basic synth to get to
> this pitch bending special case.
Sure, good plan.


>> I do strongly advise to checkout the plugins: they are a brilliant
>> reference to make LV2 plugins.
>
> Again, it's really a shame that there is no sound synthesis plugin
> demonstrated... I'm going to study them all anyway.
>>
>> Ok, that's quite a lot of info already I think!
>>
>> LV2 specific development:
>> #lv2 on irc.freenode.net  (I'm "HarryHaaren", say Hi if/when you're on)
>> Mailing list (low-traffic):
>> http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in
>>
>> Cheers, -Harry
>>
> Thanks a bunch, Harry

You're welcome. I like LV2, its the way forward: if I can help out
somewhat (apart from developing stuff myself) its also a pleasure, I
know LV2 can be a touch daunting, and a helping hand does make it a
lot easier there!

Cheers, -Harry



-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] LV2 Pitch bend control port (and function)

2014-10-02 Thread Harry van Haaren
On Thu, Oct 2, 2014 at 1:14 PM, Phil CM  wrote:
> I need a synth with a pitch control. A synth that can be controlled to
> produce all tones between one note and another, say from a2 to c3 in an
> anti-aliased way, like what you would get in pd by altering the pitch of a
> sine wave.

Hi Phil,

To start, welcome to LV2 programming: audio plugins are fun and complex area!

If you haven't already, I suggest you checkout the "plugins" directory
in the lv2 repository. It provides the best example code you'll find,
and accompanying http://lv2plug.in/book/  provides detailed
explainations and best-practices.

I don't personally use the "lv2-c++-tools" library, so cannot comment
on how it fares currently, but the large warning at the top of the
page you linked ( http://www.nongnu.org/ll-plugins/lv2pftci/ and
http://www.nongnu.org/ll-plugins/hacking.html ) makes me doubtful..
There was a fork of the library, which was somewhat updated to the new
spec: https://github.com/lvtk/lvtk  Last commit 4 months ago.

In answer to your question, the pitch bend signal actually arrives as
MIDI notes: they're a special case (unlike the standard 3-byte note-on
/ note off) event, and must be handles specially too. I don't know how
the lv2-c++-tools handles situations like pitch bend, as I don't use
it: sorry.

I do strongly advise to checkout the plugins: they are a brilliant
reference to make LV2 plugins.

Ok, that's quite a lot of info already I think!

LV2 specific development:
#lv2 on irc.freenode.net  (I'm "HarryHaaren", say Hi if/when you're on)
Mailing list (low-traffic):
http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in

Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Experience driven design and Linux Audio

2014-10-01 Thread Harry van Haaren
On Wed, Oct 1, 2014 at 12:26 PM, Joël Krähemann  wrote:
> Why doesn't Harry learn howto do a dial. I just take a look at his code
> and it just sucks.

Hi Joel,

The topic isn't the quality of my code: I'm sorry to hear you feel it
"just sucks". If you wish to discuss the quality of code, please
contact me directly by email, or start a new thread with an
appropriate topic.

But please, lets not stray away from the topic at hand: which is
desining user-interfaces with the objective to improve the experience
of using a piece of software, and not directly focussing on the
features that the software provides.

I welcome your input in this mailing-list thread on how we can make
FLOSS / Linux Audio programs have a better user experience.
Cheers, -Harry

-- 

http://www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Experience driven design and Linux Audio

2014-10-01 Thread Harry van Haaren
Hi all,

There's a lot of interesting points brought up: I've only just had the
time to read them, and reply to the points that most speak to me (the
individual) and me (as OpenAV).

Charles Henry wrote:
> There does not currently exist a company that is credibly making a complete, 
> whole-system design approach to problems such as audio recording and live 
> sound processing.
There are various companies working on this type of integration
though: there are various HW/SW combo that works with a computer, and
integrates very well: sure they're not selling the PC yet: but it
won't be long I think. Actually they're probably working on developing
that right now :D
(example that I worked with http://www.presonus.com/products/StudioLive-16.0.2 )

Charles Henry also wrote:
> To change: incentive structure.  There must be some kind of initiative 
> (non-profit or other organization) that appeals to developers and meets the 
> economic constraints of the world we live in, to be feasible.
Agreed: with my OpenAV hat on, that's something that I'm thinking
about and concidering how I can earn a living somehow by developing
open music software.

Fons wrote:
> there's one significant difference between the users who expect everything 
> (including thinking) to be done for them, and those who are prepared to 
> learn: the latter will say 'thank you'.
Agreed, I also feel that doing the thinking for a user of a piece of
software is not the right thing: I have no issue with a user having to
spend time to learn to use a domain and tool. What I do want to note
here, is that said user should not have to learn an unrelated-domain,
in order to use the software in the target domain.

In my opinion, the learning curve is too steep (or perhaps more
accurately too board) for musicians starting to use linux-audio.

Louigi Verona wrote:
> I will probably record a podcast lil later
Cool, looking forward to your opinion as a user.

Tom wrote:
> Looking at one of the slides.. i find it a strange idea that a CEO would do 
> the (software, "UX") design
Indeed: and I don't agree with everything in the talk; this is a good example.

Tom also wrote:
> Hiding behind the term "professional" to describe software, that is in fact 
> just a cumbersome pile of crap (and thus professional) is another "strategy" 
> i can observe
It is easy to have bad/overly-complicated workflow in a piece of
software, and call it "professional" to make up for it. That's pretty
much exactly why I started this thread: thanks for making it obvious
to me :)

Paul Davis wrote:
> it isn't about being a professional or not
In my opinion its about creating software that caters for a workflow,
or "use case" if that's a term you prefer. This is about designing
software for a particular use-case, and *then* focussing on the
experience while using it.

The talk mentions "the age of experience", perhaps I interchange the
word "workflow" and "experience" sometimes. A smooth workflow provides
a good experience.

And certain use-cases are catered for very well by certain programs
*features*, but the *experience* or *workflow* of using it is not
something that I feel is somewhat lacking.

Flo wrote:
> I'm an enthusiast and I don't need shiny tools and integration. I need well 
> designed (software design, separation of concern, multiple ways of 
> interfacing, language bindings, etc.) building blocks to tinker and 
> experiment with.
And I understand that there is a need for software to cater for your
use case, or preferred workflow too. That's the lower-left quadrant in
the talk: "Open Features-driven" tools. Very powerful when in very
capable hands.

Its users who would prefer a smooth experience that do not have
software available to them on linux audio right now. And its designing
and building software in that domain that I'm interested in (both as
"me", and OpenAV).

Cheers, -Harry

--

http://openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] Experience driven design and Linux Audio

2014-09-30 Thread Harry van Haaren
Hi Linux Audio Developers,


TL;DR; Discussing experience driven design for linux audio.


I'd like to discuss the "age of experiences". Allow me 10 minutes of
your time, to watch a video by Aral Balkan talk about development of
technology, FLOSS, design, and the future.

To start, please watch the following clip: I've skipped into the video
to get the section I think is most interesting to discuss on this
list:
https://www.youtube.com/watch?feature=player_detailpage&v=ldhHkVjLe7A#t=1625


To bring this discussion to a productive start, I'd like to concider
the tools we have available as the linux-audio community: they
certainly have features, and empower the user to own thier tools, and
the data used with those tools.

Should we improve experience for users?
Should we design "experience driven open" software?
Should we forward the UX of Linux Audio to the "age of experiences"?

What do users know, that developers might not?
What is it that needs to change? Are there even issues here?
If so, how do we (the community as a whole) try to solve this?


I hope this is a productive and inclusive discussion, and politely
request remaining on topic ;)
To a fruitful discussion, -Harry

-- 

www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] using libsndfile to write signed short

2014-09-27 Thread Harry van Haaren
On Sat, Sep 27, 2014 at 6:11 AM, Joël Krähemann  wrote:
> Am I correct assuming 1 sample of stereo frames will be written 44100
> times by a rate of 44100 Hz audio sampled data?
Yes. Just to be 100% clear, a "sample" is a *single* point of data.

In a mono situation: a "frame" refers to the single sample for that channel.
In stereo: a "frame" refers to 2 samples, one for *each* channel.

So the difference between a frame and a sample is that a sample is
literally a single data point, while a frame is a single "data point"
for each channel.

> Whereby one sample contains 2 frames.
See above :)

> CHANNELS = 2
> buffer_size_per_second = CHANNELS * 44100 * sizeof(signed short);
Yep. The link below is useful for double checking, and for quick disk
space calculations:
http://www.sounddevices.com/calculator/

I've written a tutorial on using SndFile to write to disk: perhaps a
useful resource to check / play with:
https://github.com/harryhaaren/openAudioProgrammingTutorials/blob/master/writingSoundfileToDisk/writingSoundfileToDisk.cpp

HTH, -Harry

-- 

www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] using libsndfile to write signed short

2014-09-25 Thread Harry van Haaren
On Thu, Sep 25, 2014 at 8:50 PM, Joël Krähemann  wrote:
> Does someone know about writing WAV using libsndfile?
> My file becomes 174M big as using sf_writef_short() within 8s

Are you sure you're only writing each sample once? Sounds like there's
an error in writing "nframe" samples for each sample or something.

Its pretty easy: and there's a brilliant to-the-point blog post on
using C++ interface (sndfile.hh) here:
http://parumi.wordpress.com/2007/12/16/how-to-write-wav-files-in-c-using-libsndfile/

If there's still issues, please pastebin some code, or ask a more
specific question :)

HTH, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] Super Announcement - All MOD software for your PC

2014-09-17 Thread Harry van Haaren
On Wed, Sep 17, 2014 at 4:45 PM, Gianfranco Ceccolini
 wrote:
> Hello Linux Audio Users and Developers
Hey!

> One of our aims is to trigger a dialogue with the developers, deprecate our 
> forks and add the MOD interface to the original plugins but that depends on 
> the developers and creators and shall be discussed in a one-to-one basis.

As OpenAV Productions I'm willing to accept patches / merge-requests
to incorperate the MOD UI changes upstream.

Looking forward to collaborating more, indeed its a pleasure to work
with the MOD team!
Cheers, -Harry

-- 

www.openavproductions.com
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Digital Effects

2014-08-22 Thread Harry van Haaren
On Fri, Aug 22, 2014 at 3:12 PM,   wrote:
> is it correct that the following two scenarios give the exact same result?
> (digital audio signal) -> (record) -> (playback) -> (apply fx) -> (result)
> (digital audio signal) -> (apply fx) -> (record) -> (playback) -> (result)

I'll add a note that if looping the playback output,  using the 1st option
the FX must constantly processes. Option 2 has the FX "recorded in",
which means the FX chain doesn't use CPU.

Of course, this "advantage" of 2 has a disadvantage: you can't change the
FX settings anymore, and certain time varying FX like Flangers and
Phasers might not "line-up" if the speed of the Flanger doesn't match
the loop duration.

(new mail just in from Tom:)
> "i'm recording the bass with compression and eq, it just makes a better 
> overall mix compared to
applying after recording" it can be looked at as rubbish
Yes totally: assuming the audio the player hears is identical
regardless of settings: musicians generally perform slightly
differently if they hear a compressed version of their instruments
sound.

If the bass player recording with comp & eq also *hears* that, as
opposed to hearing it without compression... then perhaps they'll play
"better" and it'll be easier to mix.

HTH, -Harry

PS: There's a lot of studio guides that mention slightly compressing a
monitor mix to artists.. I find it interesting to read about the
settings, and wether to send some reverb or not too.. :)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] MIDI in jack

2014-07-07 Thread Harry van Haaren
On Mon, Jul 7, 2014 at 5:00 PM, Flávio Schiavoni  wrote:

> I'm asking it to try to help with your other doubt involving Jack MIDI or
> ALSA MIDI.
> Here goes my 3 cents.
> If you need to run it with sudo, maybe the best approach is to divide the
> system in a client / server paradigm.
>

+1, with a note that the RtMidi library is probably the best way to
implement the MIDI backend, as it supports JACK, ALSA etc trough the same
high-level API: http://www.music.mcgill.ca/~gary/rtmidi/

HTH, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] C++ guide

2014-06-09 Thread Harry van Haaren
Hey Will,

This really depends: are you asing about refactoring the code-structure
(classes, inheritance, is-a vs. has-a owenership etc) or actual "code" in
the sense of stl vectors and refactoring actual "useful" code as I see it :)

For basics of C++ std libs etc, I generally refer to these:
http://www.learncpp.com
http://www.cplusplus.com/reference/cmath/pow/   (or whatever function
you're looking for)

In terms of design and such, I've read a lot of different books, but found
it difficult to find really relevant things: most books focus on ATM
machine class-structures etc (i know the knowledge applies across the
board... but still)

There's also some Digital Audio & Java books I've read: in terms of general
audio etc its useful:
http://www.amazon.com/Digital-Audio-Java-Craig-Lindley/dp/0130876763

There's also the classic audio-programming book:
http://www.amazon.com/Audio-Programming-Book-Richard-Boulanger/dp/0262014467

I think with your Yoshimi experience, you're probably familiar the contents
of these books, but included here for reference & completeness for others
in future :)

Hope that helps, -Harry



On Mon, Jun 9, 2014 at 10:10 PM, Will Godfrey 
wrote:

> Can anyone recommend something (preferably dead tree form) aimed at those
> with
> some knowledge of the basics?
>
> I've dealt with Yoshimi's "Surface noise" but am struggling with the more
> serious refactoring I want to do.
>
> --
> Will J Godfrey
> http://www.musically.me.uk
> Say you have a poem and I have a tune.
> Exchange them and we can both have a poem, a tune, and a song.
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] Help Offered : NSM Implementation

2014-05-06 Thread Harry van Haaren
Hey *,


I'd like to inform the linux-audio-developers / community that I offer my
assistance to developers in supporting the NSM session-management system.
Its a low-overhead (OSC library & environment variable only) session
management system, and its working well for a large majority of users.

The following article details the basics of implementing the
session-management protocol:
http://openavproductions.com/articles/nsm/

I (with my OpenAV Productions hat on) think that a much better streamlined
user-experience can be achieved in linux-audio if more projects support
NSM. This is my reason for offering help and advice to any project that
wishes to implement NSM.

Please get in touch directly at this email-address,
Cheers from OpenAV headquaters, -Harry


PS: A generaly user-manual of NSM can be found at [1], while the API
documentation can be found at [2].
[1] http://non.tuxfamily.org/nsm/
[2] http://non.tuxfamily.org/nsm/API.html
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Input/output error alsa api

2014-04-04 Thread Harry van Haaren
Rt audio and poet audio are different projects.

For RtAudio, there are 2 CPP files that you compile into your code : no
linking library just yet.

When you want jack / salsa support, you add the appropriate #define, and
link to the libs needed by that output framework. Check the RtAudio page
for details, they have good docs.

HTH, -Harry
On 2 Apr 2014 12:00, "R. Mattes"  wrote:

> On Wed, 2 Apr 2014 09:19:38 +, Krause, Mathias wrote
> > Hi Thiago,
> >
> > > Do you know if there is some rule to compiling using  librtaudio?
> > > Because, there is an error..and i don't know what's wrong. I'm using
> g++
> 4.7.2 and i'm compiling using:
> > >
> > > $ g++ -o 
> > >
> > > The error is: undefined reference to 'RtAudio::RtAudio(RtAudio::Api)'
> > > i'm including the lib in the program, normally!
> >
> > you need to add the library to the linker with the -l option.
>
> And on most distros you might want to use rtaudio-config to find out the
> appropriate linker and compiler flags:
>
>  LIBS=`rtaudio-config --libs`
>  CFLAGS=`rtaudio-config --cxxflags`
>
>  etc.
>
>  And then use these in your compiler invocation/makefile. BTW, hint to
>  the portaudio developers: there's a rather standard tool for such tasks
>  called pkg-config. It might be a good idea to supply a portaudio.pc
>  file instead of/together with the rtaudio-config program.
>
>   Cheers Ralf Mattes
>
>
> > Regards,
> > Mathias
> >
> > ___
> > Linux-audio-dev mailing list
> > Linux-audio-dev@lists.linuxaudio.org
> > http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
>
> --
> R. Mattes -
> Hochschule fuer Musik Freiburg
> r...@inm.mh-freiburg.de
>
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Input/output error alsa api

2014-03-29 Thread Harry van Haaren
Hi Thiago,

Slightly other question: are you *sure* you want to write directly using
the ALSA API?
Generally, writing a JACK[1] client (for linux-pro-audio use-cases), or
RtAudio[2] is a better idea, and easier in my opinion...

They're easier to write to, and abstract away some of the details of the
soundcard settings / channels etc.
HTH, -Harry

[1] https://github.com/jackaudio/example-clients/blob/master/simple_client.c
[2] https://www.music.mcgill.ca/~gary/rtaudio/


On Sat, Mar 29, 2014 at 5:00 AM, Thiago Carísio wrote:

> Hi! I am Thiago and i'm starting to use the alsa api. I'm testing one
> function to make the sound capture and i got this input/output error. I
> don't get it why this is happening...so, please...some kind soul can help
> me?
>
> Thanks
>
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV ArtyFX 1.1 Release

2014-03-17 Thread Harry van Haaren
Hey All,

It's my pleasure announce that ArtyFX 1.1 is released!

See the ArtyFX page for details on the 3 new plugins:
http://openavproductions.com/artyfx/

Source available from github:
https://github.com/harryhaaren/openAV-ArtyFX/releases

And many thanks to the contributors! -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV : ArtyFX 1.1

2014-03-09 Thread Harry van Haaren
Hey All,

Its my pleasure to announce ArtyFX 1.1, with three new plugins!
The plugin are distortion, feedback delay, and 4-band eq.

Demo video: http://www.youtube.com/watch?v=aPQOZK-yKy8
ArtyFX page: http://openavproductions.com/artyfx/

OpenAV wishes to thank Steve Harris for authoring Barry's Satan Maximizer:
Satma's DSP routine is derived from that work. OpenAV also wishes to thank
Fons Adriaensen for writing the 4-band parameteric equalizer, as Kuiza uses
his implementation as DSP routine.

Contributions to release ArtyFX 1.1 welcomed, see the ArtyFX page for
details:
http://openavproductions.com/artyfx

Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Releasing source code is not enough, I think...

2014-01-22 Thread Harry van Haaren
On Wed, Jan 22, 2014 at 7:41 PM, Fred Gleason 
wrote:
> I suspect that the OP is largely oblivious to the very existence of this
'upstream/downstream' division of labor — it is, after all, pretty much
unique to the FOSS world.

Your suspicions are wrong there: Filipe maintains many packages for KX
Studio ( http://kxstudio.sourceforge.net/ ), and has extensive experience
in the area.
He's also very commited to ensuring up-to-date packages: something that
requires a lot of dedication, as I'm sure you know since you package too.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Releasing source code is not enough, I think...

2014-01-21 Thread Harry van Haaren
On Tue, Jan 21, 2014 at 3:34 PM, Filipe Coelho  wrote:
> On 01/21/2014 12:40 PM, Fons Adriaensen wrote:
>> They can learn to do it [compile software, -Harry]. It's not rocket
science.
>
> I think it's not up to the users to understand how software compilation
works.

I feel this is an important factor in this discussion: there are various
different users: for the purpose of this thread, lets assume two groups of
users, affectionatly named "techie" and "non-techie".
A techie user can (relatively easily) learn to compile software, they have
some *interest* in techie topics, like compiling.
The non-techie user, however, wants to make a new radio hit. They have *NO
interest* in techie: they wish to *use* a software. Without complications.

In light of the two groups of users above, I think it shows that Filipe is
catering for the "non-techie" audience, and allowing them to use software.


On Tue, Jan 21, 2014 at 3:40 PM, Filipe Coelho  wrote:
> Most Linux (audio) users used to be developers as well, I don't believe
that's the case anymore.
I'll agree: the "non-techie" group is growing, who wish to use, more than
to "techie".
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Static verification of real-time safety

2014-01-14 Thread Harry van Haaren
I won't speak for Fundamental, he's usually in #lad, but I know the
following:

His blog on the topic:
http://log.fundamental-code.com/2012/05/31/sfpv-intro

The code on github:
https://github.com/fundamental/sfpv

I've not used / toyed with it myself, I don't know anything more :) -Harry


On Tue, Jan 14, 2014 at 5:43 PM, David Robillard  wrote:

> Hello,
>
> Does anyone know if anything has emerged from
>
>
> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/fundamental/1
>
> or, what alternative solutions for doing the same thing exist today?
>
> I know I have
>
> #ifdef __clang__
> #define REALTIME __attribute__((annotate("realtime")))
> #else
> #define REALTIME
> #endif
>
> in my code and was tinkering with an implementation capable of doing
> this at some point, but can't dig up the details, or whatever system I
> was using to do it.
>
> It would be oh so very nice to be able to statically verify that code is
> real-time safe...
>
> --
> dr
>
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Calling all developers

2013-12-23 Thread Harry van Haaren
On Mon, Dec 23, 2013 at 5:05 PM, Gabbe Nord  wrote:
> I'd greatly appreciate any participation from developers.

On behalf of OpenAV I've completed it.

Thanks for taking the initiative and making this happen.
To an interesting and productive discussion! -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Luppp - disable sync'ed start

2013-12-12 Thread Harry van Haaren
I've created a github issue for this discussion, to avoid software-specific
discussion to LAD:
https://github.com/harryhaaren/openAV-Luppp/issues/67

Lets continue the discussion there :)

Cheers, that's a nice piece of software !
>

Thanks, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV : Luppp release!

2013-12-10 Thread Harry van Haaren
Hey All,

I'm delighted to say that 5 days after announcing, Luppp has reached its
target donation!
That means that its now available under the GPLv3+ license, to everybody!

Grab the details & source from here: http://openavproductions.com/luppp

I'd like to thanks the community, for the awesome support Luppp has
recieved!
Thanks to LeatusPenguin, ZthMusic, AutoStatic, and others for beta-testing,
making this release much more polished before this release. Thanks to
Jonathan Liles for writing NTK, the user-interface toolkit behind the
OpenAV software interfaces.

Thanks to all the contributers: you are the reason this software is
available right now!

Thanks again, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] OpenAV : Luppp Announced!

2013-12-08 Thread Harry van Haaren
On Fri, Dec 6, 2013 at 3:12 PM, Brendan Jones wrote:

> Now this  is great news. Well done!
>

Thanks!

9 contributions remaining until a release is made, hoping to release very
soon!

Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV : Luppp Announced!

2013-12-06 Thread Harry van Haaren
Hey!

Its my pleasure to announce Luppp, the flagship project of OpenAV!
Announce video: https://www.youtube.com/watch?v=AcIuKktCaLg

Its a live-looping program with a grid based workflow. This the Luppp
has features like NSM integration, ArtyFX integration, JACK integration,
and powerful MIDI binding! The real-time capable Luppp engine is
designed for on-stage live performance.

Luppp is being released under the OpenAV release system:
http://openavproductions.com/support

The target donation amount for Luppp is 520€.
The suggested donation amount is 10€: http://goo.gl/Nw12YN
Any amount can be donated though: http://goo.gl/xThJow

Still interested? Checkout these Luppp feature videos!
Using Sends:https://www.youtube.com/watch?v=wLy9oG_WpHg
Sidechaining:   https://www.youtube.com/watch?v=-AwtMUeBc9w
 MIDI binding:  https://www.youtube.com/watch?v=kOGh2tsXBcA
NSM / ArtyFX: https://www.youtube.com/watch?v=bPJQs6w2XQc

Hopefully releasing soon, lets get Luppping ;) -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Looking for library to categorise audio

2013-10-13 Thread Harry van Haaren
On Sun, Oct 13, 2013 at 9:49 PM, Philipp Überbacher 
wrote:
> I'm looking for a library that I could use to categorise audio.
> Do you know or even have experience with such a library?

Aubio, and the VAMP plugins would be where I'd start.
Aubio has beat-onset, and BPM etc, some combo of those might provide a way
to find the type.
I have no experience with VAMP, just know there's a whole load of analysis
stuff in there!

HTH, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV : ArtyFX

2013-10-11 Thread Harry van Haaren
Hey All,

ArtyFX is released after 5 days, cheers to all the contributors!

Checkout details here: http://www.openavproductions.com/artyfx

Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] LV2 Oscilloscope

2013-10-10 Thread Harry van Haaren
On Thu, Oct 10, 2013 at 8:07 PM, Paul Davis wrote:

>
>
>
>
>
> If a plugin uses one of them (the original) then Ardour will NOT delete
> the UI instance when it is closed.
> If a plugin uses the other (the version "forked"/"copied" by falktx) then
> Ardour WILL delete the UI instance when it is closed.
>
> Both specifications state that the UI is defunct and no longer usable
> after being closed:
>
>* After this callback is called, UI is defunct. Host must call
>* LV2UI_Descriptor::cleanup(). If host wants to make the UI visible
>* again UI must be reinstantiated.
>
>
Thanks for clearing that up: learning in progress on my behalf.
Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] LV2 Oscilloscope

2013-10-10 Thread Harry van Haaren
On Thu, Oct 10, 2013 at 6:29 PM, Aurélien Leblond wrote:

> - what is the cleanest way to access input port data from the GUI?
>

In short: the DSP part should write an Atom event to notify the GUI.

The long: Ardour3 deletes UI instances when the window is closed: that
means the state of the UI is lost.
When re-opening the UI, it must re-request the state from the DSP part.

Cleanest way:
-On UI init(), write a "requestSamplerate" Atom message to the DSP
-On DSP recieve "requestSamplerate", write Atom message with samplerate int
to UI.

That covers all the use cases, and the UI will auto update upon re-init in
Ardour :)

HTH, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Community Interaction and Working Together

2013-09-20 Thread Harry van Haaren
On Fri, Sep 20, 2013 at 4:18 PM, Brian Sorahan wrote:

> I've been wishing for a free Reason-killer ever since starting to use
> linux. I actually haven't used Reason since version 4-ish so that is my
> reference point (I'm sure it is much more [powerful|bloated] now)
>
I've never had a proper go at Reason, but I know that Carla is a "rack"
type plugin-host: perhaps combining that with Seq24 might get you quite far
along?

Anyway, noted! -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] forking (was Re: Aeolus)

2013-09-20 Thread Harry van Haaren
On Fri, Sep 20, 2013 at 1:25 PM, Dan Muresan  wrote:

> There's also the fact that you can't attach patches to github issues.
>

https://gist.github.com/ can be used for this: see
https://github.com/ned14/Easyshop/issues/1

-Harry

PS: Apologies for the blank mail
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] forking (was Re: Aeolus)

2013-09-20 Thread Harry van Haaren
On Fri, Sep 20, 2013 at 1:25 PM, Dan Muresan  wrote:

> There's also the fact that you can't attach patches to github issues.
>
> On 9/20/13, IOhannes m zmölnig  wrote:
> > On 09/20/13 01:38, Paul Davis wrote:
> >> it is also much easier for project maintainers to handle pull requests
> >> than
> >> simple patches, which means that someone having their own fork on github
> >> can actually be doing the project a service, rather than seeking to
> >> "split"
> >> from it.
> >
> > i'm aware of that feature of github and i'm using it myself in both
> > directions.
> >
> > nevertheless, personally i only ever "github fork" a project after i
> > pulled a clone of the original project to my desktop, worked on it and
> > eventually want to submit a pull request.
> >
> > git makes it so easy to handle multiple repositories simultaneously
> > (most of my git project have 2-4 remotes) and/or to change the URL of a
> > single remote.
> >
> > nevertheless, it's not very important - i only found it slightly strange.
> >
> >
> > fgamsdr
> > IOhannes
> >
> >
> >
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Community Interaction and Working Together

2013-09-20 Thread Harry van Haaren
On Fri, Sep 20, 2013 at 1:26 PM, Ralf Mardorf wrote:

> The way things are saved and restored for Qtracor is a real PITA and that
> it seems to be impossible to cancel changes, when leaving an editor.
>
I see a QTractor feature request / bug report coming...
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Community Interaction and Working Together

2013-09-20 Thread Harry van Haaren
On Fri, Sep 20, 2013 at 1:14 PM, Alex  wrote:

> A  jack midi sequencer  comprehensively.
>
And a gui 
>

Focusing on the whole: yes I also feel this is a tool that is needed.
Request noted, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Community Interaction and Working Together

2013-09-20 Thread Harry van Haaren
On Fri, Sep 20, 2013 at 11:38 AM, Ralf Mardorf
wrote:

> Harry, could you please post some links, when you have seen the
> frustration you're talking about?
>
I'd much prefer focus on improving from where we are: not highlighting
where communication may have broken down.

I'd also like to get feedback from users, about what tools are needed most:
plugins, synths, effects? Yet-Another-DAW?
If any of the above, please provide details / intended use-case.

Cheers from a sunny Ireland, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] Community Interaction and Working Together

2013-09-20 Thread Harry van Haaren
Hello all Users & Devs of linux-audio-land,

Moving forward from the topic on Aeolus and forking projects, perhaps it is
wise to look at how the community as a whole can grow from this situation:

1) It seems the frustration of forks is mainly due to lack of communication.
2) Had appropriate communication been in place, patches could have been
merged.
3) If 1) and 2), then the community flourishes as a whole.

In the Aeolus thread on LAD, Michel Dominique wrote (and I feel its
relevant here):
"That imply we must communicate more with each other"
"I think this is a big problem, and not only related to Fons work, or the
LAD, but to the whole community."

The mailing list you're reading from now is one of the central hubs for the
community:
The -developers list is the perfect place to announce projects, forks,
patches etc.
The -users list is good for asking users and interested parties questions.

I will try to announce more patches / code, to contribute upstream, and
hopefully benefit the community.
Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV : Sorcer 1.1 release

2013-09-14 Thread Harry van Haaren
Hey everybody,

OpenAV is releasing Sorcer 1.1! Upgraded features such as a compressor and
output level provide better feedback in an all new NTK based UI! Existing
presets are remain unchanged: the compressor is off by default.

Packagers will be happy to know that Sorcer now uses Make, so packaging
should be easier.

Details available on http://openavproductions.com/sorcer

Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV Realtime Buffer Allocation article

2013-08-26 Thread Harry van Haaren
Hey All,

I've written up a blog post on allocating (audio) buffers in real-time.
The trigger was designing the record functionality for Luppp.

http://openavproductions.com/realtime-buffer-allocation

Hope its of interest to some, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Screencasting with JACK [SOLVED!]

2013-08-09 Thread Harry van Haaren
On Fri, Aug 9, 2013 at 2:54 AM, J. Liles  wrote:
> Well, it took a couple of weeks of hair pulling and many, many hours of
testing, but I finally arrived at a solution.
Brilliant stuff, most definatly will test after my mini-holiday till
Monday. Expect feedback of some sort :) -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV Fabla

2013-07-19 Thread Harry van Haaren
Hi,

Its my pleasure to announce the release of Fabla!

After 8 days we have reached the target donation amount, many thanks to all
those who contributed!

Available here: http://openavproductions.com/fabla

Cheers! -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] DSP: Band limiting wavetable oscillator

2013-07-13 Thread Harry van Haaren
On Sat, Jul 13, 2013 at 5:32 PM, Fons Adriaensen 
wrote:
> This could be done very efficiently, in particular if you accept some
> compromises for the lowpass filter, and even more if the waveforms can
> be summed before downsampling.

Good idea, I wouldn't have thought of summing before downsampling.

In terms of compromises for the lowpass filter, what is it you were
thinking of?
A bit of reading tells me that most analog devices use elliptic filters,
with 4/8 poles or so for this purpose..
Seems a little overkill? I've no experience in this area... yet!

-Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] DSP: Band limiting wavetable oscillator

2013-07-13 Thread Harry van Haaren
Hi all,

I'm working on a wavetable oscillator class, and I'm wondering about how to
best go about bandlimiting. I see two ways to achieve bandlimiting, i'll
detail as A and B.

A) Create different wavetables for each octave. Base octave includes all
harmonics. Octave 1 has the top half of the harmonics removed by FFT. Oct 2
has the harmonic content halved again.

B) Oversample the single waveform x8. Play the oversampled audio back, and
lowpass with a steep rolloff just below the nyquist of the output
samplerate. Removal of the otherwise aliasing harmonics is done at the
higher samplerate, so its not aliased yet at that stage.

I'm asking in terms of quality and CPU usage: this is for a synth which has
3 oscillators per voice, and 16 / 32 voices..

Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV : Fabla

2013-07-11 Thread Harry van Haaren
Hey everybody,

Its my pleasure to announce that the next OpenAV Productions LV2 plugin is
finished!

Its called Fabla, and its a performance sampler.
Page: http://openavproductions.com/fabla
Demo reel: https://vimeo.com/70122957

One year from today Fabla will be released, and each donation motivates the
release to be one month earlier. -Harry

PS: The release system is the same as the previous OpenAV release for
Sorcer, details available here: http://openavproductions.com/support
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Linux Audio Architecture

2013-06-12 Thread Harry van Haaren
On Wed, Jun 12, 2013 at 8:10 PM, ssm  wrote:
> I know it's a long post, but even if you can help with a part of it, I'll
be greatly benefited.

Hi Salmin,

You are using the ALSA API directly: if you're *sure* you want to do that,
disregard the next bit.
Most pro-audio applications on linux use JACK, which simplifies writing
audio programs as it does all the backend stuff, and lets you get on with
writing something useful :)

There's a repository of "open-audio-programming-tutorials" online, of which
one is directed at writing a simple JACK client:
https://github.com/harryhaaren/openAudioProgrammingTutorials/tree/master/jackClient

Hope that sets you off in the right direction :) -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV Productions : Sorcer Release

2013-05-20 Thread Harry van Haaren
Hi everybody!

Its my pleasure to announce, that after 9 days the Sorcer wavetable synth's
donation target has been reached. Not only that, but as I prepared to push
the code to github, not one but two more donations arrived.

Wauw. Thank you for kicking off OpenAV productions.

Now for the best part: Sorcer is available!
github.com/harryhaaren/openAV-Sorcer

Also, there's a repo of presets:
github.com/harryhaaren/openAV-presets

Bug reports to github.com/harryhaaren/openAV-Sorcer/issues

I hope you enjoy using Sorcer!
-Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] OpenAV Productions : Sorcer

2013-05-11 Thread Harry van Haaren
Hey Everybody,

I'm happy to announce OpenAV productions: http://openavproductions.com
OpenAV productions is a label under which I intend to release my
linux-audio software projects. The focus of the software is on the workflow
of creating live-electronic music and video.

The release system for OpenAV productions is one based on donations and
time, details are available on http://openavproductions.com/support

Sorcer is a wavetable synth, and is ready for release. Check out the
interface and demo reel on http://openavproductions.com/sorcer

Greetings from the LAC, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Faust site down.

2013-04-15 Thread Harry van Haaren
On Mon, Apr 15, 2013 at 1:23 AM, J. Liles  wrote:

> To whom it may concern, http://faust.grame.fr is down.
>

And its back up :)

Announcements of server up-down time are made on the faudiostream-users
mailing list:
http://faust.grame.fr/index.php/support/mailing-lists/faudiostream-users
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] jack ringbuffer usage

2013-04-08 Thread Harry van Haaren
On Mon, Apr 8, 2013 at 1:01 PM, Raphaël BOLLEN
wrote:

> Hi Harry, thanks for the information.
>

Your welcome!
I'm intrested in what kind of JACK program you're working on..?

Also I'm collecting example / tutorial code for JACK programming, perhaps
its of intrest to you:
https://github.com/harryhaaren/openAudioProgrammingTutorials

Cheers, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] jack ringbuffer usage

2013-04-08 Thread Harry van Haaren
On Mon, Apr 8, 2013 at 12:45 PM, Raphaël BOLLEN 
wrote:
> error: invalid conversion from 'void*' to 'char*' [-fpermissive]


jack_ringbuffer_read() expects the buffer pointer to be of type  char* not
void*.
The "char*" should just be interpreted as "pointer", as the data is data,
which is not necessarily a char.

Change your case from (void*) to (char*) and you won't need -fpermissive :)
HTH, -H
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Python Non-Session-Manager Client Module (version 0.1)

2013-04-04 Thread Harry van Haaren
On Thu, Apr 4, 2013 at 7:19 PM, J. Liles  wrote:

> Harry, this already exists in C++ class form and also in a single C header
> file. nonlib/NSM/Client.{CH} and nonlib/nsm.h, respectively.
>

Brilliant, thanks for the pointer. I've not played with implementing NSM
yet, but its steadily working up the TODO list.. And your note is now
attached :) -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Python Non-Session-Manager Client Module (version 0.1)

2013-04-04 Thread Harry van Haaren
Ah very cool. I'm not using python, but might implement a class / some C++
code when I get time for the same purpose. Hooks on OSC commands to do /
tell to do the NSM stuff...


On Thu, Apr 4, 2013 at 1:22 AM, Nils Gey  wrote:

> Dear Developers,
>
> I've written a convenience interface to implement Non Session Management
> as fast and easy as possible in Python 3 applications. It is no magic
> programming at all, but it makes things just that tiny bit easier that is
> required to actually implement something, and not only plan it.
>
> The real work is to follow the rules of a managed system (see
> http://non.tuxfamily.org/nsm/API.html ). So implementing the technical
> side should be a no-brainer to let you focus on the actual task.
>
> pynsmclient is open source under the GPL3 or later and can be found on my
> github page so you can start using it right away.
>
> https://github.com/nilsgey/pynsmclient
>
> I also have written a short article in my blog about that topic
> http://nilsgey.de/?id=24
>
> Greetings,
> Nils
>
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Mixing audio: Noiseless volume changes

2013-03-19 Thread Harry van Haaren
On Tue, Mar 19, 2013 at 1:02 PM, Fons Adriaensen wrote:

> The code below will do the trick
>

Brilliant, thanks for sharing. Will be implementing & learning from this
later, appreciated!
-Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Mixing audio: Noiseless volume changes

2013-03-18 Thread Harry van Haaren
On Tue, Mar 19, 2013 at 3:26 AM, Tim Goetze  wrote:

> tradition (like RBJ's lovely cookbook at musicdsp) will ask for filter
> Q, which is 0.5 for critical damping.
>

Nice mention, checked out the code there, will play around with it a bit :)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Mixing audio: Noiseless volume changes

2013-03-18 Thread Harry van Haaren
On Mon, Mar 18, 2013 at 11:45 PM, Fons Adriaensen wrote:

> A critically damped
> second order lowpass with a rise time of 30 ms or so will eliminate all
> audible artefacts. It's very low on CPU and you only need to run it while
> the gain is changing.
>

Although I understand the words & their meaning, I have no idea how to
start implementing such a filter.
I've found a 1st order algorithm on musicdsp:
http://www.musicdsp.org/showone.php?id=257
Since its second order I understand it needs the previous 2 outputs.
Critically dampened implies that the "factor" of influence of the previous
samples is very close to 1 ( 'a' in the algorithm linked )

How is the "rise time" determined here?
Noobie questions :) -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Bitwig beta for Linux reviewed

2013-03-06 Thread Harry van Haaren
On Wed, Mar 6, 2013 at 12:05 PM, Dave Phillips wrote:

>
> http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2013/01/Bitwig-Professionelle-Musik-Workstation-fuer-Linux
>
> Excellent review, in German only, with some enticing screenshots.
>

Thanks for the link, indeed cool stuff. Nice review Hartmut! :)
-Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] JACK and CPU stress testing

2013-03-02 Thread Harry van Haaren
Hi everybody!

Rui: nice graphs, definatly using that one :D
Dominique: I've not tried your suggestion yet. Perhaps later if I have time.
Adrian: Hah, the brute force method. Will give it a go and see what happens
Robin: I'll have a look at the scripts, and see if inspiration strikes ;)

Thanks for all the suggestions guys! -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] JACK and CPU stress testing

2013-03-01 Thread Harry van Haaren
Hey all,

I'm currently attempting to stress test my setup of  -rt kernel, rtirq
scripts, and a Jack client program I've been working on.
So my idea is to create a script that runs the programs, and also a
cpu-load generating program (cpuburn or alternative).
Then collecting stats based on Xruns, % DSP load, etc.

I intend to show (trough brute force) that an application is RT capable on
machine X with a latency of Y ms.
Of course this won't be 100% representative, but the stats will show some
RT-safe-ness.

Has anybody done this kind of profiling / stress testing with JACK before?
Hints / tips / advice / etc welcomed! -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] making sense of Jack MIDI; or, is this an appropriate use for Jack?

2013-02-17 Thread Harry van Haaren
On Sun, Feb 17, 2013 at 9:20 PM, Paul Coccoli  wrote:

> JACK ringbuffers are
> ideally suited to passing simple types (like floats), and not vairable
> sized things (like different derived Event classes).  Your enum for
> event types is a bit of a red flag, too.  While its perfectly valid,
> "type flags" like this more often than not accompany inflexible,
> tightly coupled code (which may be fine in a small audio app, but few
> apps stay small).
>

Apologies, forgot this section:
Yes indeed all "Event" types will be contained in a single enum, and hence
adding / removing
events will cause a recompile. While unfortunate, I don't know how to go
about making this
cleaner. #define's anybody?
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] making sense of Jack MIDI; or, is this an appropriate use for Jack?

2013-02-17 Thread Harry van Haaren
On Sun, Feb 17, 2013 at 9:20 PM, Paul Coccoli  wrote:

> This scheme sounds error prone.  In general, copying C++ objects via
> memcpy (or writing them 1 byte at a time into the ringbuffer, which is
> what I think you're proposing) is a bad idea.

Nope, write them one   sizeof( event->size() ) at a time.
I'm very interested in why copying C++ objects like this is a bad idea.
Its been discussed on list before (
http://linux-audio.4202.n7.nabble.com/Inter-thread-Communication-Design-Approach-td68710.html
).
This seemed to be the best simple RT safe solution. If you have suggestions
/ improvements I'd love to hear them.

JACK ringbuffers are
> ideally suited to passing simple types (like floats), and not vairable
> sized things (like different derived Event classes).  Your enum for
> event types is a bit of a red flag, too.  While its perfectly valid,
> "type flags" like this more often than not accompany inflexible,
> tightly coupled code (which may be fine in a small audio app, but few
> apps stay small).
>



> What about passing pointers via the ringbuffer?

Pointers to an Event? Just makes it more hassle to send an Event from the
RT thread.
Involves taking X memory from a mem-pool, and then using placement new to
construct
the EventPlay(), and then send the pointer trough the ringbuffer. More
complicated IMO.


> To free the event  objects, you could pass them back via a second
> ringbuffer so the RT
> threads aren't responsible for deleting them.
>
Indeed, that would be necessary. Again, more complications. That said, it
can be done,
and would involve less "traffic" trough the ringbuffer, and also "fixed
size" traffic": pointers to EventBase.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] making sense of Jack MIDI; or, is this an appropriate use for Jack?

2013-02-17 Thread Harry van Haaren
On Sun, Feb 17, 2013 at 3:57 AM, M Donalies wrote:

> No locks or mutexes in a callback function. I need to think about that one.
>
This is indeed a "lovely" topic for debate. I'm bound to say that, I'm
currently doing a final-year project for college on the topic.
I've came up with a solution, which I feel is the best balance between
C++-y style Event classes, and C-style simple code. Simple is great for
RT situations: its easy to see if something is RT or not.

In essence it boils down to this:
-Create an "EventBase" classwith pure virtual type() and size()
functions
-Derive actual events like "EventPlay"  overriding type() and size()
-Create a ringbuffercheckout the example, it uses the
JACK ringbuffer
-Create events *on the stack*   ie EventPlay eventPlay();
-Write events into the ringbuffer using jack_ringbuffer_write();

The last two steps are key, as they enfore the event gets *copied* into the
ringbuffer, and the original goes out
of scope (and gets destroyed).

This solution is very workable, on the condition that only fundamental C
datatypes are passed trough the Event class.
Things will get nasty if you pass std::shared_ptr<> objects trough it, I've
made that mistake already :)

The following code shows communication from the GUI thread to the RT
thread. Create another ringbuffer and functions
for communicating in the other direction.

https://github.com/harryhaaren/realtimeAudioThreading

HTH, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] making sense of Jack MIDI; or, is this an appropriate use for Jack?

2013-02-15 Thread Harry van Haaren
On Fri, Feb 15, 2013 at 11:41 PM, M Donalies wrote:

> There's no "here's how you use these guys" sections.


Hi M!

As a relative new-comer to linux-audio, I struggled with the same issues
you're having.
I had intended to document my own learning of JACK MIDI, and have a repo
online here
concerning exactly that. I just fixed the build errors, but unfortunatly
there's only a very
basic example currently available: If you would like to add to it, please
do :)
https://github.com/harryhaaren/JACK-MIDI-Examples

In a similar fashion there's another repo for general audio programming
tutorials.
There's a bit more available there, but again maybe its a bit too basic for
your needs.
https://github.com/harryhaaren/openAudioProgrammingTutorials

HTH, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] LV2 Synths & Hosts : MIDI binding

2013-02-09 Thread Harry van Haaren
Hey all!

I have a simple enough question, but I don't know the best practice for
solving it, so figured I'd ask.
There's an LV2 synth running in a LV2 host. The synth exposes its operation
trough control ports.

Option 1:
The plugin can bind incoming MIDI events to these control ports values,
allowing "standard" MIDI maps to be made for the synth.
Use cases include using the synth on another machine with the same
hardware: easy operation, layout identical to before.
Downside: these MIDI binding values are hard coded in the plugin, and can't
be changed. Also the host may update the control port (which has been
effected by the MIDI stream) and causes a parameter jump.

Option 2:
The host has to implement its own form of binding the MIDI events to the
control ports.
Downsides: the plugin has no control over what causes what effect, so no
standardized maps can be made.
Application specific MIDI mapping... which is nasty.

I think the "safe option" is number 2, each application sorts this thing
out itself, and the user has to map the same synth per host.
The MIDI mapping situation on Windows and MacOS is terrible (IMO), with
various different "software re-map" features like Novation Automap, and
Bores midi translator just getting in the way even more.

Can anybody see a solution to using the same MIDI map for the same
instrument in different software, without hard-coding it in the plugin?
Or another solution? -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] So what do you think sucks about Linux audio ?

2013-02-09 Thread Harry van Haaren
On Sat, Feb 9, 2013 at 11:16 AM, John Rigg  wrote:

> I will stress that I'm talking about audio engineering tools, not music
> creation software here. I do appreciate that users of the latter have very
> different requirements.


I was reading your post, about to vocalize the counter-argument, but you're
right, they're two entirely different things.

I'd like to add to my list of "what don't we have", music creation
software. I mean, dumbed down controls: where every settings sounds *ok*,
and some sound amazing. No amplitude spikes just cause you adjust a control
to a non-integer multiple of the blah blah, and upon filing a bug report
recieving "you should know better than to do that".

Live musicians can't deal with the chance the software will do something
crazy.
More (LV2 instrument & effect) software with dumbed down controls :)
-Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Segfault when trying to dereference __midi_event.buffer (c++ newbie question)

2012-11-21 Thread Harry van Haaren
On Wed, Nov 21, 2012 at 11:54 AM, Shani Hadiyanto Pribadi <
shaniprib...@gmx.net> wrote:

> jack_midi_event_get(&in_event, midi_buf, event_index);
> if ((*(in_event.buffer) & 0xf0) == 0x90) // Segfault happens here, on
> boolean mask operation
> {
> _note = *(in_event.buffer + 1);
> }
>

Extra context from you git repo:
void *midi_buf;
jack_midi_event_t in_event;
jack_nframes_t event_index = 0;
jack_nframes_t event_count;

midi_buf = jack_port_get_buffer(_ports[MIDI], nframes);
event_count = jack_midi_get_event_count(midi_buf);

jack_midi_event_get(&in_event, midi_buf, event_index); // error here?
std::cout << std::hex << static_cast (*(in_event.buffer))
<< std::endl;
if (event_count)
{
}

What happens when event_index has a value of 0? It will attempt a read &
dereference anyway.
Perhaps put the jack_midi_event_get() call into the if  statement.

Also, you should probably use this instead of if(event_count)

int event_num = 0;
while ( event_num < event_count )
{
   // do stuff
   event_num++;
}

Haven't tried the above code, but I think that might be it :)
HTH, -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] FAUST 0.9.58 released

2012-11-09 Thread Harry van Haaren
On Fri, Nov 9, 2012 at 2:26 PM, Orlarey Yann  wrote:

>  is happy to announce the release of FAUST 0.9.54 
>

Great news! I noticed the LV2 output option on the online compiler, the
rest of the news is great too!
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] About some interface of aplay

2012-10-19 Thread Harry van Haaren
On Fri, Oct 19, 2012 at 9:31 AM, 新月如钩 <46620...@qq.com> wrote:

> **
> Hi All,
>  Say hello to everyone!
>

Hi Spring!


>  I'm a new member to learn how to write a ALSA application.
>

Is there a reason that you want to learn ALSA specifically? Or do you want
to start audio programming in general? I might advise writing a JACK client
if its audio coding you want to get into :)


> I analyze the source code of aplay and very confused on follow interfaces:
> snd_pcm_playback_info()
> snd_pcm_playback_format()
> snd_pcm_playback_params()
>

Can't help there I'm afraid: I'm a JACK coder.. :) -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [LAU] Linux Audio 2012: Is Linux Audio moving forward?

2012-10-10 Thread Harry van Haaren
Replying to nobody in particular but perhaps bringing some new things to
the table:

I feel there's a lot going on "just-under-the-surface" of what most of us
know about. I presume not everybody here is aware of the advances FAUST has
recently made in DomainSpecificLanguage technology. Similary I'm sure
there's other projects having successes that I'm not aware of (despite
being subscribed to all linux-audio feeds I know exist :) So are these
"under-the-surface" technologies and workflows going to arise into public
knowledge? If so, how?

The other things I feel is necessary is to bundle the community together:
We need to agree on one place to post information: a central hub for
linux-audio.

This location needs to have a certain appeal for newcomers, where
inspiration strikes: "YES! With those tools I can achieve exactly what I've
wanted for years!!" says the now enthusiastic and ISO downloading newcomer.

-Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Pianoteq VST - point of information

2012-09-03 Thread Harry van Haaren
On Sun, Sep 2, 2012 at 7:32 PM, Edward Diehl  wrote:

> However, if you append "_2chan" to the plugin library
> name (e.g. Pianoteq.so to Pianoteq_2chan.so) , the plugin will output
> only 2 channels and work happily in Ardour.
>

Neat trick, I have Pianoteq and didn't know about it. Of course you can
connect just 2 of the 5 output channels to Ardour's master: but indeed its
a bit of a hack, and you can't apply stereo effects to the 5 signals...

Thanks Edward! -Harry
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


  1   2   3   >