A couple of days ago, I tried out non-session-manager, and thought,
this is really nice. It really works in a practical, easy way.
Unfortunately the number of apps supporting non-session is quite small
(as is the case for *all* session management systems, AFAIK). There may
be "a complete audio studio" supporting non-session, from one choice of
sequencer to one synth to one sampler, but people like to use their
favorite software. You can't just say, "if you want to use a sequencer,
use X because it supports non-session". So its usefulness is limited.
However, many apps support one session management framework or the
other. So the obvious thing to do if you want to give people more
choices would be to create some kind of interoperability layer between
session management systems.
What do you think about this? Is there an effort for something like
this already underway? I personally think a good first step might be to
create some compatibility between non-session (because I like it) and
jack-session (because most people are using jack).
Hello all,
I'm seeing a strange probelm with Pd. I'm testing a very simple patch
(total CPU load < 1.5% with DSP enabled). There are a few message boxes
used to set a hslider to some preset values. With DSP enabled they take
something like a second to respond to a click. What's wrong here ?
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
Hello both lists,
I see the reason for a non-discussion announcement list, LAA, but is it really necessary to have twp lists?
I know there are several people who only subscribed to one list, but I don't know if this is intentional or not.
Why not merge both. The immediate effect would be a stop at the cross posting just to reach the whole community.
The mailinglists are from the same service, but I think in the end it would be more convenient and better for everyone to have it all in one place.
Yes, I know some of you fear (mostly people in the dev list who do not read LAU) that they will get unwanted mails. But as you can tell from experience topics like "why linux audio sucks", "water as fuel" and other mega/nonsense/offtopic threads get cross posted anyway.
And I know some of you think devs and users should be kept seperated. But be honest: Who in the world is subscribed to a linux mailing list and could not stend the occasional developers topic. If you want beginner-level support you most likely don't know how to use lists :)
Just to be clear:
I am a friend of diversity and seemingly "redundant" applications and projects. There cannot be enough sequencers, samplers, synthesizer, notation programs etc.
But when it comes to infrastructure and core building blocks I see no sense in seperation. This is the strong point, compared to other operating/eco-systems. We may friendly compete on a musical or feature basis, but there is no need to border a program just to make it harder for the users to use the program of the "enemy" (from a Windows/OSX POV).
In a Linux-Audio world of diversity and individuality, it is good to have central places and instances. We can do whatever we want but unlike the closed source world we have no need to create factions and standards that rival with each other, creating artificial gaps.
The most successful of these instances is JACK itself. A centralized audio server, hailed and praised by everyone.
And since I am writing this mail already, my personal wish list:
Please join the two blog/RSS planets as well (http://www.planet.linuxmusicians.com/, http://linuxaudio.org/planet/ )
Merge Yoshimi and ZynAddSubFx, the JACK versions and experimental forks, the session managers/protocols and a few audio distributions which have not enough manpower and that can be used to boost the other distributions. "Joining/Merging" also can mean for one side to step down honorable and retire the project.
Nils
http://www.nilsgey.de
MFP -- Music For Programmers
Release 0.01, "Mining For Participants"
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 constructing audio synthesis,
processing, and analysis networks.
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
* MFP provides fairly raw access to Python constructs if desired.
For example, the built-in read-eval-print 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
* The editing 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.
The code is still in early days, but has reached a point in its
lifecycle where at least some interesting workflows are operational
and it can be used for a good number of things. I think MFP is now
ripe for those with an experimental streak and/or development skills
to grab it, use it, and contribute to its design and development.
The code and issue tracker are hosted on GitHub:
https://github.com/bgribble/mfp
You can find an introductory paper (submitted to LAC-2013) and
accompanying screenshots, some sample patches, and a few other bits of
documentation in the doc directory of the GitHub repo. The README
at the top level of the source tree contains dependency, build,
and getting-started information.
Thanks,
Bill Gribble
Hi Kane,
These plugins were especially written to be used with Ingen.
Now, you will need a quite recent version of Ingen to enjoy them.
I believe KX Studio has a repository for software in development, and the
latest version should be in there.
Let me know if that helps.
Aurélien
On Feb 19, 2013 10:29 PM, <wolfbiter(a)gmail.com> wrote:
> Ok thanks for letting me know. I'm assuming you guys use these plugins -
> what programs do you run them with?
>
> On Mon, Feb 18, 2013 at 10:57 AM, David Robillard <d(a)drobilla.net> wrote:
>
>> On Mon, 2013-02-18 at 17:25 +0000, Aurélien Leblond wrote:
>> > Hi Kane,
>> >
>> > I believe this issue is due to the fact that Ardour doesn't support CV
>> > port (it is the same in Jalv).
>> >
>> > In these plugins, the CV Port are used to control when the Beat
>> > Repeater/Slicer would be repeating/slicing.
>> >
>> > @David: Can you confirm?
>>
>> Correct, neither support CV ports at this time. Doing so would probably
>> not be a big deal, I just haven't bothered yet since very few plugins
>> that are suitable for use in such hosts use them yet anyway.
>>
>> Not a big deal to do the trivial clunky ControlPort equivalent thing
>> anyway. When automating Ardour could/should 'render' a sample accurate
>> version of the curve for such ports, but that would be a bit more work.
>>
>> -dr
>>
>>
>
Hi,
I compiled Aliki in a new machine and I can not capture impulses because
aliki crash when I try to load a sweep file in the capture dialog.
I can create a sweep file, I tried to create diferent sweep files but
any of these files can be loaded in the capture dialog.
When Aliki crash there is some Backtrace in the console, I pasted here:
http://hastebin.com/pobileyiru.avrasm
Using:
Ubuntu12.10 Quantal
kernel: 3.5.0-23-generic
x86_64
Thanks in advance,
federico lopez
PD: I used Aliki in another 32bits machine without problems.
Message: 7
Date: Sun, 17 Feb 2013 17:10:11 -0500
From: Paul Coccoli < <mailto:pcoccoli@gmail.com> pcoccoli(a)gmail.com>
>You're effectively serializing your object and passing them over the
ringbuffer. If you do it this way, you should at least consider explicitly
embedding the type and length as the first member of EventBase (and have
each derived class set their own type and length in their constructors), and
reading those before touching the object you read.
Very good, that's what I do. The event is serialised to the ringbuffer, one
member at a time (so I don't rely on a particular memory layout, or padding.
The Type of message and the length are the first two values. (this example
sends some text to the GUI to display a message box)..
my_output_stream& strm = MessageQueToGui();
strm << id_to_long("mbox");
strm << (int) ( sizeof(wchar_t) * msg.size() + sizeof(int) +
sizeof(icontype)); // message length.
strm << msg;
strm << icontype;
Jeff
Hi Kane,
I believe this issue is due to the fact that Ardour doesn't support CV
port (it is the same in Jalv).
In these plugins, the CV Port are used to control when the Beat
Repeater/Slicer would be repeating/slicing.
@David: Can you confirm?
Kind Regards,
Aurélien
On Mon, Feb 18, 2013 at 9:57 AM, <wolfbiter(a)gmail.com> wrote:
> So after some time spent installing all the packages, I managed to get your plugins to install on my system (latest version of KXstudio). I can see your plugins via the plugin manager of ardour3 (beta 5, the most recent), but when I try to load any of them I get these mysterious errors (one per load attempt):
>
> "[ERROR]: LV2: "Beat Repeater - Stereo" port 2 has no known data type
> [ERROR]: LV2: "Beat Repeater - Mono" port 1 has no known data type
> [ERROR]: LV2: "Beat Slicer - Stereo" port 2 has no known data type"
>
> This is a shot in the dark, but I was wondering if it had to do with this line from http://ardour.org/node/5351#comments
>
> "Name insert and send ports as "return" and "send" rather than "in" and "out". It is possible that this might break some connections in some existing sessions. "
>
> I'm extremely excited to be a user of your Beat Repeater and Beat Slicer - let me know what I can do!
>
> Thanks,
> Kane
hi.
The following just manifested itself while experimenting with code. I
find it quite neat since it makes for quite natural looking constants:
class duration_log
{
int8_t log;
public:
constexpr duration_log(int log) : log(log) {}
constexpr operator int() const { return log; }
template<char...> friend duration_log constexpr operator"" _th();
};
duration_log constexpr maxima = 3;
duration_log constexpr longa = 2;
duration_log constexpr breve = 1;
duration_log constexpr whole = 0;
duration_log constexpr half = -1;
duration_log constexpr quarter = -2;
template<> duration_log constexpr operator"" _th<'8' >() { return -3; }
template<> duration_log constexpr operator"" _th<'1', '6' >() { return -4; }
template<> duration_log constexpr operator"" _th<'3', '2' >() { return -5; }
template<> duration_log constexpr operator"" _th<'6', '4' >() { return -6; }
template<> duration_log constexpr operator"" _th<'1', '2', '8'>() { return -7; }
template<> duration_log constexpr operator"" _th<'2', '5', '6'>() { return -8; }
---
(there is actually no need for the wrapper class duration_log, but it
makes it easier to play with overloaded functions. You could of course
just replace duration_log with int, if you do not care for type safety.)
Now I can write things like "16_th" or "64_th".
It turns out that there is a quite neat formula for the typical music
notation duration calculation. Given that the base rhythmic type is
expressed as a log (as in LilyPond for instance), the rational number of
the duration with a certain amount of dots and time modification (tuple) can be
written like this:
#include <boost/rational.hpp>
template<typename Rational = boost::rational<int>>
inline Rational augmented_rational( int log, unsigned dots
, int numerator, int denominator
)
{
return log < 0 ? Rational { ((1 << (dots + 1)) - 1) * numerator
, denominator << -log << dots
}
: Rational { (((1 << (dots + 1)) - 1) << log) * numerator
, denominator << dots
};
}
---
This is quite efficient since there is no need to multiply or manipulate
rational numbers in any way. You just get the final value straight out
of the expression.
Comments?
--
CYa,
⡍⠁⠗⠊⠕