Hi
The first fix release of GxPlugins.lv2 is out.
The fixes are:
Fix Power switch use as bypass control (lv2:enabled)
Fix don't rebuild on make install
Fix GxVBassPreAmp dc overload in circuit simulation
Also it comes with the new GxSD1.lv2 pedal simulation.
GxPlugins.lv2 is a set of mostly analogue guitar pedal simulations as
LV2 plugins, simulated with the guitarix ampsim toolkit.
They contain the following plugs:
GxBottleRocket.lv2 - -> tube based preamp pedal
GxHotBox.lv2 - -> tube based preamp pedal
GxVBassPreAmp.lv2 - -> transistor based Bass preamp
GxSuppaToneBender.lv2 - -> transistor based Fuzz pedal
GxHyperion.lv2 - -> transistor based Fuzz pedal
GxVoodoFuzz.lv2 - -> transistor based Fuzz pedal
GxSaturator.lv2 - -> saturation plugin
GxVintageFuzzMaster.lv2 - -> transistor based Fuzz pedal
GxSuperFuzz.lv2 - -> transistor based Fuzz pedal
GxVmk2.lv2 - -> transistor based solid stage preamp
GxUVox720k.lv2 - -> transistor based solid stage preamp
GxSlowGear.lv2 - -> volume swell plugin
GxGuvnor.lv2 - -> transistor based overdrive pedal
GxToneMachine.lv2 - -> transistor based Fuzz pedal
GxSD1.lv2 - -> Op-amp based overdrive pedal
I hope they may be useful for the one or the other.
Build instruction and screenshots may be found here:
https://github.com/brummer10/GxPlugins.lv2
the release zip file is located here:
https://github.com/brummer10/GxPlugins.lv2/releases
regards
hermann
Another solution for 4x ADAT i/o: 2 RME hammerfall cards, turned into
1 alsa virtual card.
I'm using 2 digi9636 cards and am getting rock-solid performance at
low latencies.
----- Original Message -----
From: linux-audio-dev(a)lists.linuxaudio.org
To:<linux-audio-dev(a)lists.linuxaudio.org>
Cc:
Sent:Sun, 29 Jan 2017 12:00:01 +0000
Subject:Linux-audio-dev Digest, Vol 119, Issue 7
Send Linux-audio-dev mailing list submissions to
linux-audio-dev(a)lists.linuxaudio.org
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.linuxaudio.org/listinfo/linux-audio-dev
or, via email, send a message with subject or body 'help' to
linux-audio-dev-request(a)lists.linuxaudio.org
You can reach the person managing the list at
linux-audio-dev-owner(a)lists.linuxaudio.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Linux-audio-dev digest..."
Today's Topics:
1. Re: RME Digiface USB ? (Adrian Knoth)
----------------------------------------------------------------------
Message: 1
Date: Sat, 28 Jan 2017 15:50:02 +0100
From: Adrian Knoth <adi(a)drcomp.erfurt.thur.de>
To: Damien Zammit <damien.zammit(a)gmail.com>
Cc: linux-audio-dev(a)lists.linuxaudio.org
Subject: Re: [LAD] RME Digiface USB ?
Message-ID: <20170128145002.GH22406(a)ltw.loris.tv>
Content-Type: text/plain; charset=us-ascii
On Sat, Jan 28, 2017 at 07:27:21PM +1100, Damien Zammit wrote:
> Hey,
Hi!
> Anyone got one of these? Does it work with GNU/Linux (yet)?
> Curious about xrun performance with 4x ADAT i/o over USB2...
Last time I spoke with someone from RME (that was probably back in
2012
or 2013), they were unwilling to give us their USB drivers (let's say
to
maintain their competitive edge) nor to document the protocol (why
would
they, the driver is free to change it at any point in time).
That said, I see three options:
1. Get an EXBOX.UMA. 32in/32out ADAT/MIDI/USB. The company is super
helful, provided all the specs and enabled me to write a working
driver:
https://plus.google.com/+adiknoth/posts/PddEdbm7PNj
The product is discontinued, but if you want to polish the driver a
bit,
I can lend you mine indefinitely. Should be fully functional, only
the
control software could use a decent UI (I tried HTML5 talking to an
HTTP-to-MIDI server in Go but then had no time to finish it - cmdline
is
ready, though)
2. Reverse-Engineer the RME protocol. Probably lots for work.
Basically
what folks did when FFADO started, but it's cumbersome to interpret
individual bits in a long bitstream just to spot the individual
samples.
And even then it'd be another six months to write the driver.
3. Talk to RME (I can give you a contact) and try to get hold of
their
driver sources or a protocol spec. Both is very unlikely, especially
since they were repeatedly unwilling to reveal anything that involves
the new TotalMix.
The other option is to forget about USB2 and look at other connectors
like Thunderbolt (ultimately external PCIe) or Ravenna/AVB. And last
not
least, there's an ALSA driver for Dante somewhere.
Speaking of Thunderbolt: if you just want 4xADAT, you can always put
an
RME RayDat or one of the Marian cards in an external Thunderbolt
enclosure.
HTH
--
mail: adi(a)thur.de http://adi.thur.de PGP/GPG: key via keyserver
------------------------------
Subject: Digest Footer
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev(a)lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev
------------------------------
End of Linux-audio-dev Digest, Vol 119, Issue 7
***********************************************
Hi
I like to announce the first release of GxPlugins.lv2
GxPlugins.lv2 is a set of mostly analogue guitar pedal simulations as
LV2 plugins, simulated with the guitarix ampsim toolkit.
They contain the following plugs:
GxBottleRocket.lv2 - -> tube based preamp pedal
GxHotBox.lv2 - -> tube based preamp pedal
GxVBassPreAmp.lv2 - -> transistor based Bass preamp
GxSuppaToneBender.lv2 - -> transistor based preamp
GxHyperion.lv2 - -> transistor based Fuzz pedal
GxVoodoFuzz.lv2 - -> transistor based Fuzz pedal
GxSaturator.lv2 - -> saturation plugin
GxVintageFuzzMaster.lv2 - -> transistor based Fuzz pedal
GxSuperFuzz.lv2 - -> transistor based Fuzz pedal
GxVmk2.lv2 - -> transistor based solid stage preamp
GxUVox720k.lv2 - -> transistor based solid stage preamp
GxSlowGear.lv2 - -> volume swell plugin
GxGuvnor.lv2 - -> transistor based overdrive pedal
GxToneMachine.lv2 - -> transistor based Fuzz pedal
I hope they may be useful for the one or the other.
Build instruction and screenshots may be found here:
https://github.com/brummer10/GxPlugins.lv2
the release zip file is located here:
https://github.com/brummer10/GxPlugins.lv2/releases
regards
hermann
MFP -- Music For Programmers
Release 0.06
I'm pleased to announce a new version of MFP, mostly consisting
of bug fixes and improvements. It's been about 2 years since the
0.05 release, but lately I have been pretty energized!
A summary of changes is below. Please see GitHub for complete
details:
http://github.com/bgribble/mfp
This version is still source-code-only, but the new build system
should make it a bit easier for those who would like to try it.
Significant changes since release v0.05
----------------------------------------
* Build issues reported for the 0.05 release have been
fixed or mitigated
* Clarification of semantics around names and namespaces
(scopes)
* A change to send/receive semantics may break patches saved with
earlier versions of mfp, if they make use of vias and scopes
* New demo patches and fixes to old ones
* Improvements to performance, stability and error handling
* Left-side tabs and bottom-edge console/log can be toggled
with ` and ~ respectively
* Better default color selections, and the ability to set
per-object style (colors, fonts) in your patches
* Many other bugfixes and improvements. The complete list of
tickets closed since the 0.05 release is in the 0.06
milestone:
http://github.com/bgribble/mfp/issues?q=milestone%3A%22mfp+0.06%22+is%3Aclo…
About MFP
----------------------------------------
MFP is an environment for visually composing computer programs,
with an emphasis on music and real-time audio synthesis and
analysis. It's very much inspired by Miller Puckette's Pure Data
(pd) and Max/MSP, with a bit of LabView and TouchOSC for good
measure. It is targeted at musicians, recording engineers, and
software developers who like the "patching" dataflow metaphor for
coding up audio synthesis, processing, and analysis.
MFP is a completely new code base, written in Python and C, with
a Clutter UI. It has been under development by a solo developer
(me!), as a spare-time project for several years.
Compared to Pure Data, its nearest relative, MFP is superficially
pretty similar but differs in a few key ways:
* MFP uses Python data natively. Any literal data entered in the
UI is parsed by the Python evaluator, and any Python value is a
legitimate "message" on the dataflow network. This makes it much
easier to make patches that work like conventional "programs".
* MFP provides fairly raw access to Python constructs if desired.
For example, the built-in Python console allows live coding of
Python functions as patch elements at runtime.
* Name resolution and namespacing are addressed more robustly,
with explicit support for lexical scoping. This allows patches
to have dynamic or parameterized content, with hygienic
layer copying preserving lexical structure without name
collisions
* The UI is largely keyboard-driven, with a modal input system
that feels a bit like vim. The graphical presentation is a
single-window style with layers rather than multiple windows.
* There is fairly deep integration of Open Sound Control (OSC), with
every patch element having an OSC address and the ability to learn
any other desired address. MIDI controller learning is also robustly
supported.
* MFP has just a fraction of the builtin and addon functionality
provided by PD. It's not up to being a replacement except in
very limited cases!
The code and issue tracker are hosted on GitHub:
https://github.com/bgribble/mfp
You can find the LAC-2013 paper and accompanying screenshots,
some sample patches, and a few other bits of documentation in the
doc directory of the GitHub repo. The README files at the top
level of the source tree contain dependency, build, and
getting-started information.
More sample patches are in my personal patch repo:
https://github.com/bgribble/mfp-patches
Where's it going?
----------------------------------------
I've been working on MFP as a spare time project for almost 7
years now. The likelihood that it will ever have more than a few
users is low. Luckily, that doesn't bother me much; MFP is a
tool I am building mainly for my own use and education.
That being said, if there's something about it that appeals to
you, I welcome your interest and participation.
Thanks,
Bill Gribble <grib(a)billgribble.com>
Hi Ralf,
On 11/01/17 12:52, Ralf Mattes wrote:
>
> Am Mittwoch, 11. Januar 2017 13:21 CET, Felipe Ferreri Tonello <eu(a)felipetonello.com> schrieb:
>
>> Hi Ralf,
>>
>> On 03/01/17 21:37, Ralf Mattes wrote:
>>>
>>> Am Dienstag, 03. Januar 2017 19:31 CET, Felipe Ferreri Tonello <eu(a)felipetonello.com> schrieb:
>>>
>>>
>>>> If sched_setscheduler() returns -1, check if errno is set to EPERM. In
>>>> this case the user trying to perform this operation does not have
>>>> CAP_SYS_NICE[1] capability, which is *required*.
>>>>
>>>> [1] http://man7.org/linux/man-pages/man7/capabilities.7.html
>>>>
>>>> If you want this type of feature, set CAP_SYS_NICE to the group audio
>>>> that you are referring.
>>>
>>> ??? How can I grant capabilities to a group? I thought capabilites where either given to
>>> a user (via /etc/security/capability.conf) or to a binary (by means of setcap).
>>
>> AFAIK, pam_cap support users and groups.
>
> Not according to my local manpages (pam_cap(8) 09/23/2011 and CAPABILITY.CONF(5) -- 09/23/2011).
> Do you have any y reference for your information?
I never tested, but try out based on this reference[1] paragraph 2.2.
Apparently there are two implementations for pam_cap. One supports the
other doesn't.
[1]
http://blog.sevagas.com/?Linux-security-using-a-limited-group-PAM-modules
[2] https://github.com/ekline/pamcap/blob/master/pam_capability.c
[3] https://github.com/pexip/os-libcap2/blob/master/pam_cap/pam_cap.c
Good luck.
--
Felipe
Am Mittwoch, 11. Januar 2017 13:21 CET, Felipe Ferreri Tonello <eu(a)felipetonello.com> schrieb:
> Hi Ralf,
>
> On 03/01/17 21:37, Ralf Mattes wrote:
> >
> > Am Dienstag, 03. Januar 2017 19:31 CET, Felipe Ferreri Tonello <eu(a)felipetonello.com> schrieb:
> >
> >
> >> If sched_setscheduler() returns -1, check if errno is set to EPERM. In
> >> this case the user trying to perform this operation does not have> >> CAP_SYS_NICE[1] capability, which is *required*.
> >>
> >> [1] http://man7.org/linux/man-pages/man7/capabilities.7.html
> >>
> >> If you want this type of feature, set CAP_SYS_NICE to the group audio
> >> that you are referring.
> >
> > ??? How can I grant capabilities to a group? I thought capabilites where either given to
> > a user (via /etc/security/capability.conf) or to a binary (by means of setcap).
>
> AFAIK, pam_cap support users and groups.
Not according to my local manpages (pam_cap(8) 09/23/2011 and CAPABILITY.CONF(5) -- 09/23/2011).
Do you have any y reference for your information?
TIA Ralf Mattes
Hi list. Hope Rui gets this...
I have a puzzling technical question, involving QTractor.
I have been looking very closely at how Qt's class QThread works.
Actually, it doesn't. On Linux. As a normal user.
A long investigation into its source code and ultimately some test programs,
shows that on Linux it ignores what priority you attempt to start it with,
if running with normal user privileges.
In Qt's qtbase/src/corelib/thread/qthread_unix.cpp:
void QThread::start(Priority priority)
{
...
pthread_attr_t attr;
pthread_attr_init(&attr);
...
}
This code in Qt shows it initializes with default attributes which have
scheduling 'other' and thus the range of priority levels is ZERO and thus
QThread is lying about being at QThread::TimeCriticalPriority for example -
it is NOT, it stored your requested level but did not actually set it.
I just finished examining the following programs using 'htop' plus a
custom program to ask what each's scheduling policy is,
using pthread_attr_getschedpolicy():
(With Jack running realtime etc. etc...)
a) MusE : Two threads running FIFO policy (policy = '1'). Good, expected.
MusE directly uses pthreads, and set policies and levels.
I assume since I'm in the audio group with good rt limits,
some help is going on, 'cause I ain't runnin' as root.
b) QTractor : NO threads running FIFO (all policies = '0'). Bad? Unexpected?
QTractor uses a few different QThreads with various priority settings
including one requesting TimeCriticalPriority. Seem's it's not happening?
c) Qt5Creator test program using QThread set to TimeCriticalPriority: Bad -
thread has policy = '0'.
The Mixxx project found the exact same thing:
https://www.mixxx.org/wiki/doku.php/performance_improvements
"RJ discovered that Mixxx's requests for real-time priority on this thread are
having no effect. Running as a regular user on Linux shows that the priority
range is from 0 to 0, and as root from 1 to 99, but it is set to 1 (the
lowest) by default. However, calling
setPriority(QThread::TimeCriticalPriority) (while running as root)
does result in priority escalation. "
A further look at the ticket shows they had to go with pthreads directly.
What are your thoughts on this? Am I doing something wrong?
Is QTractor really running realtime or not?
After seeing the source and fooling with this, I'm disliking QThread.
Before creating a QThread, I tried to elevate using seteuid, setegid
and so on, and tried elevating to group 'audio'.
Permissions denied, of course.
Thanks.
Tim.
The MusE project.
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