Hey guys!
ReZound to me seems like one of the best sound editors on Linux. Yet, it
appears to have been forgotten. Any hope its development and maintenance
will be resumed?
Louigi.
So much to tell, even more to do... then one could hardly shake, this
long overdue. Lousy rhymes and no miserly times. And there it is: a
bug-fix release, I'll mean to ease.
Oh crap! Let's get it through once and for all.
With huge compliments to all who got the nerve and report as many too
much idiosyncrasies (nee bugs). Don't, never look back. There's plenty
more ahead, no matter where you look, or hear, whether is up or down hill :)
Qtractor 0.4.6 (funky deviless) is here!
Release highlights:
- MIDI Editor draw mode (aka paint mode) (NEW)
- MIDI Swing-quantize (NEW)
- LV2 UI Instance & Data-access extension support (NEW)
- JACK Session support (EXPERIMENTAL) (NEW)
- LV2 Save/Restore extension support (NEW)
- MIDI Editor event list in-line editing (NEW)
- MIDI Clip time-stretching (FIX)
- MIDI Clip editor file salvage quietness (NEW)
- MIDI Control bus switching crash (FIX)
- MIDI Bank-selection backout (FIX)
- Initial widget geometry extents (FIX)
- Input-only bus playback crash (FIX)
- Bus connection persistence crash (FIX)
- Drag-and-drop cloning plugins (FIX)
- MIDI Editor floating-selection persistence (NEW)
- Audio inserts garbage signal (FIX)
A bit more or not so detailed change-log is found below.
Website:
http://qtractor.sourceforge.net
Project page:
http://sourceforge.net/projects/qtractor
Downloads:
- source tarball:
http://downloads.sourceforge.net/qtractor/qtractor-0.4.6.tar.gz
- source package (openSUSE 11.2):
http://downloads.sourceforge.net/qtractor/qtractor-0.4.6-4.rncbc.suse112.sr…
- binary packages (openSUSE 11.2):
http://downloads.sourceforge.net/qtractor/qtractor-0.4.6-4.rncbc.suse112.i5…http://downloads.sourceforge.net/qtractor/qtractor-0.4.6-4.rncbc.suse112.x8…
- binary packages (Ubuntu 10.04):
http://downloads.sourceforge.net/qtractor/qtractor_0.4.6-4.rncbc.ubuntu1004…http://downloads.sourceforge.net/qtractor/qtractor_0.4.6-4.rncbc.ubuntu1004…
- user manual (outrageously outdated):
http://downloads.sourceforge.net/qtractor/qtractor-0.3.0-user-manual.pdf
Weblog (upstream support):
http://www.rncbc.org
License (no kiddin'):
Qtractor is free, open-source software, distributed under the terms of
the GNU General Public License (GPL) version 2 or later.
Change-log:
- Introducing a non-painting edit sub-mode on the MIDI clip editor's
piano-roll (see Edit/Select Mode/Edit Draw menu).
- The MIDI clip editor (aka piano-roll) is now a lot more quiet about
saving its own dirty content, delegating all salvage questions to main
session control.
- Don't show session restart message box when changing JACK transport
mode option anymore.
- Dedicated MIDI control bus switching fixed. Was closing the wrong bus
eventually and crashing the whole show with it (fixes bug #2989590).
- MIDI bank/program backout has been corrected on MIDI track properties
dialog rejection (ie. user cancellation).
- MIDI bank select method has been corrected for tracks with no
instrument defined (probably fixing bug #2987071).
- LV2 UI Instance and Data Access extension support added; reduce LV2
external UI parameter value update flickering.
- JACK session infrastructure support. (EXPERIMENTAL)
- Initial widget geometry and visibility persistence logic has been
slightly revised as much to avoid crash failures due to wrong main
widget hidden state.
- Initial mixer widget extents are now set reasonably larger.
- General source tree layout and build configuration change.
- Ever since smooth-ramping introduction that having at least one
input-only buses were causing immediate playback crashes, now hopefully
fixed.
- Refactored for common engine client nomenclature, primarily provided
by JACK, then secondarily passed to ALSA Sequencer, getting rid of the
JackUseExactName requirement and lifting the unique/single instance
restriction in the process.
- Current JACK Transport, MMC Device, and MIDI Song Position pointer
(SPP) control modes are now saved/loaded as part of session option
properties.
- MIDI clip editor's context menu crash on Qt >= 4.6 has been fixed
(resolving bug #2972603).
- An ancient double-free corruption has been finally fixed at the
audio/MIDI bus connection persistence logic.
- Improved visibility of track state buttons text (R, M, S) when turned
on dark colored themes.
- LV2 Save/Restore extension support kicks off.
- MIDI engine read-ahead period has been shortened to half than it was
since inception--now it's a 500msec cycle.
- MIDI clip editor event list gets its due inline editing, for time,
note, value/velocity and duration columns, just one double-click away
over the target cell ;)
- Add-plugin selection dialog position and extent are now remembered
across invocations and application sessions (tipping by Frank Neumann).
- MIDI clip time-stretching is now made available through the same
gestures as audio ones, by just shift+dragging either of the clip edges.
- Drag-and-copying plug-in instances (cloning) is now fixed with regard
to parameter value replication.
- MIDI clip editor snap-per-beat setting is now independent from main
multi-track view; File/Save As... dialog fixed; the current event
selection is now kept floating as long as it's possible after editing
command actions; finally, edit mode has been extended to free-hand event
drawing, chalking off (piano roll) draw mode from the TODO list.
- Swing-quantize has finally made its overdue debut as an additional
MIDI clip editor tool (see Tools/Quantize...).
- Almost since its inception, audio inserts were injecting garbage
random noise when not being activated, now fixed.
- Dedicated audio output ports for MIDI track plugins, now have their
connection persistence back in business due on session load.
Cheers && Enjoy (what else?)
--
rncbc aka Rui Nuno Capela
rncbc(a)rncbc.org
On Fri, May 21, 2010 11:30, James Morris wrote:
> Just a quick update. I eventually settled on a 64bit 2D array, with each
> 64bit element in the array representing 64 spaces in the grid merely for
> tracking the state of space being used or unused. Turns out much faster
> this way. There will still be a list of blocks (or windows if it was a
> window manager) placed but this is an entirely separate issue. For example
> in the test code I keep track of the coordinates (returned by the
> algorithm) and dimensions of placed blocks in an array.
>
> code/demo here: http://jwm-art.net/boxyseq/freespace_grid.tar.bz2
not very portable: uses GCC builtins ctzl, and clzl, and probably other
stuff not so portable.
>
> video/demo here: http://jwm-art.net/art/freespace_grid.ogv
>
>
>
> running 'make' in the src, builds a demo/test program which produces
> similar output to the video - this is where the good old xterm wins - set
> font to 'tiny' and maximize vertically and widen it to atleast 128 chars
> and xterm displays fast enough it looks like an animation.
>
>
> I'm hoping this will work well enough for real-time placement, though the
> worst case scenario has changed from just being 255 windows placed, to
> something like.... placing a 1x1 block in a non-empty grid full of (any
> dimensioned window... it's difficult to work out the worst case here.
>
> james.
>
>
> On Fri, April 30, 2010 23:10, James Morris wrote:
>> Hello,
>>
>> I'm still trying to develop my boxy-sequencer idea. Basically, I've
>> tried
>> out a couple of algorithms for window-manager-like box placement within
>> a
>> grid and run into big problems.
>>
>> Because I need help/advice/ideas, I'm posting here as it has some
>> relevance, and I've also posted to
>>
>> http://stackoverflow.com/questions/2746590/fast-block-placement-algorithm-a…
>>
>> A quick run down of what's happened so far, the two algorithms:
>>
>> The first I directly based on Fluxbox's Row Smart placement algorithm.
>> Testing only the data structures, (and with gcc -O0) jack kicked out my
>> client after around 200 boxes were placed in a 128x128 grid. I then
>> counted how many times the algorithm looped through the entire list of
>> boxes and discovered (not in RT for this) that the 256th box placement
>> required around 14000 scans through the list of 255 previously placed
>> boxes (i've decided 256 boxes will be the worst-case-scenario).
>>
>> The second algorithm consists of a freebox data structure which
>> represents
>> a rectangular area of free unused space. It also forms a node in a
>> doubly
>> linked list, as well as four directional links to other freeboxes
>> touching
>> it (with a maximum of one freebox touching each side of a freebox)...
>> turns out rather complex to implement fully: 700+ loc for a partial
>> implementation of row-smart left-to-right top-to-bottom placement -
>> theres
>> also col-smart, r-to-l, b-to-t and all combinations.
>>
>> Through stackoverflow, I've come across spatial hashing.
>>
>> I wondered if anyone here uses this technique for the display of data
>> (would scrollable window views use such a thing?). worth it for a
>> 128x128
>> grid etc?
>>
>> I'm just after any general thoughts/insights you might have as to what
>> might or might not work. Anything worth pursuing.
>>
>> I'm afraid there's all sorts of little things to be considered so if you
>> do have something to suggest, please read the stackoverflow post first.
>>
>> Cheers for any help, if possible,
>> James.
>>
>>
>>
>
>
> _______________________________________________
> Linux-audio-dev mailing list
> Linux-audio-dev(a)lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
Just a quick update. I eventually settled on a 64bit 2D array, with each
64bit element in the array representing 64 spaces in the grid merely for
tracking the state of space being used or unused. Turns out much faster
this way. There will still be a list of blocks (or windows if it was a
window manager) placed but this is an entirely separate issue. For example
in the test code I keep track of the coordinates (returned by the
algorithm) and dimensions of placed blocks in an array.
code/demo here: http://jwm-art.net/boxyseq/freespace_grid.tar.bz2
video/demo here: http://jwm-art.net/art/freespace_grid.ogv
running 'make' in the src, builds a demo/test program which produces
similar output to the video - this is where the good old xterm wins - set
font to 'tiny' and maximize vertically and widen it to atleast 128 chars
and xterm displays fast enough it looks like an animation.
I'm hoping this will work well enough for real-time placement, though the
worst case scenario has changed from just being 255 windows placed, to
something like.... placing a 1x1 block in a non-empty grid full of (any
dimensioned window... it's difficult to work out the worst case here.
james.
On Fri, April 30, 2010 23:10, James Morris wrote:
> Hello,
>
> I'm still trying to develop my boxy-sequencer idea. Basically, I've tried
> out a couple of algorithms for window-manager-like box placement within a
> grid and run into big problems.
>
> Because I need help/advice/ideas, I'm posting here as it has some
> relevance, and I've also posted to
>
> http://stackoverflow.com/questions/2746590/fast-block-placement-algorithm-a…
>
> A quick run down of what's happened so far, the two algorithms:
>
> The first I directly based on Fluxbox's Row Smart placement algorithm.
> Testing only the data structures, (and with gcc -O0) jack kicked out my
> client after around 200 boxes were placed in a 128x128 grid. I then
> counted how many times the algorithm looped through the entire list of
> boxes and discovered (not in RT for this) that the 256th box placement
> required around 14000 scans through the list of 255 previously placed
> boxes (i've decided 256 boxes will be the worst-case-scenario).
>
> The second algorithm consists of a freebox data structure which represents
> a rectangular area of free unused space. It also forms a node in a doubly
> linked list, as well as four directional links to other freeboxes touching
> it (with a maximum of one freebox touching each side of a freebox)...
> turns out rather complex to implement fully: 700+ loc for a partial
> implementation of row-smart left-to-right top-to-bottom placement - theres
> also col-smart, r-to-l, b-to-t and all combinations.
>
> Through stackoverflow, I've come across spatial hashing.
>
> I wondered if anyone here uses this technique for the display of data
> (would scrollable window views use such a thing?). worth it for a 128x128
> grid etc?
>
> I'm just after any general thoughts/insights you might have as to what
> might or might not work. Anything worth pursuing.
>
> I'm afraid there's all sorts of little things to be considered so if you
> do have something to suggest, please read the stackoverflow post first.
>
> Cheers for any help, if possible,
> James.
>
>
>
On 05/20/2010 09:08 AM, Jörn Nettingsmeier-6 wrote:
> hi *!
>
> in the light of recent timer discussions (was it here or on
> jack-devel?), lwn.net has interesting coverage about the time stamp
> counter and its oddities in the recent weekly edition:
> http://lwn.net/SubscriberLink/388188/62e8027425e224f6/
> (free link, the rest of the issue will become available to
> non-subscribers in 14 days or so.)
>
> best,
>
> jörn
>
> _______________________________________________
> Linux-audio-dev mailing list
> Linux-audio-dev@...
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
Thanks for the link!
Interesting read.
So this is the monster that's being used when you start jack with -c
cycle...
Greetings,
lieven
hi *!
in the light of recent timer discussions (was it here or on
jack-devel?), lwn.net has interesting coverage about the time stamp
counter and its oddities in the recent weekly edition:
http://lwn.net/SubscriberLink/388188/62e8027425e224f6/
(free link, the rest of the issue will become available to
non-subscribers in 14 days or so.)
best,
jörn
Hey guys!
In many DAWs it is not possible to use a vocoder, because it requires two
inputs - a modulator and a carrier. So in order for this to work you either
have to allow routing in the mixer (which none of the linux daws are capable
of, as far as I know) or else use vocoder as an external programm.
While the latter is a partial solution, it is not always desirable. Having
Vocoder as just a plugin inside a DAW is something that I personally always
needed.
I wanted to suggest a Vocoder with built-in Modulator.
This can be accomplished in two methods:
a. The user loads a wave file from the plugin's GUI, a wave file that would
act as a modulator.
b. The plugin has a set of predefined waves and/or a set of oscillators with
basic waveforms (like the famous Orange Vocoder VST).
There are two Vocoders on Linux that I know of - the LADSPA Vocoder (and its
LV2 port, done by a different programmer) and the Vocoder, created by the
guys of the Rakarrack team.
Both vocoders are definetely very capable tools.
I wanted to ask whether
1. modifying them in a manner I specified above is a difficult task
2. and whether someone would want to take it up.
Additionally, how difficult is it to include several features that would
make this vocoder more like an instrument rather than just a plugin that
does only one job, namely filter, fine tune for the modulator and LFO.
Louigi Verona.
================
| FAUST 0.9.24 |
================
GRAME - Centre National de Creation Musicale - is happy to announce
the release of FAUST 0.9.24. This version fixes several bugs,
and introduces some new possibilities in the language.
-------------
About FAUST :
-------------
FAUST (Functional Audio Stream) is a functional programming
language specifically designed for real-time signal processing and
synthesis. A distinctive characteristic of FAUST is to be fully
compiled. The FAUST compiler translates DSP specifications into
very efficient C++ code that works at sample level. It targets
high-performance signal processing applications, libraries and
audio plug-ins for a variety of audio platforms and standards. A
same FAUST specification can be used to easily generate native
JACK or ALSA applications, as well as CSOUND, LADSPA, MAX/MSP, PD,
Q, SC and VST plugins.
The Faust distribution can be downloaded at:
http://sourceforge.net/projects/faudiostream
Two mailing lists are available:
https://lists.sourceforge.net/lists/listinfo/faudiostream-develhttps://lists.sourceforge.net/lists/listinfo/faudiostream-users
In order to test FAUST without installing it, please refer to the
Online Faust Compiler:
http://faust.grame.fr
------------
What's new :
------------
- Explicit substitutions. The language has been extended with new
expressions type : exp[x1=def1; x2=def2; ...] allowing explicit
substitutions in the lexical environment of an expression. This
extension allows for instance, to customize an existing component
by replacing some of its internal definitions without having to
modify its source code. This extension is particularly useful to
promote better code reuse.
- Improved mathematical description (--mathdoc option) and support
for two new languages : German (-mdlang de) and Italian (-mdlang
it)
- Support for floating point numbers in scientific notation and
better precision for floating point constants. The precision used
to print a floating point constant in the generated C++ code is no
more limited to 6 digits. It is now dynamically adjusted to find
the minimal number of digits that will produce the same internal
representation when read back. This approach guarantees accuracy
without sacrificing for readability.
- All expressions are now systematically represented in polynomial
forms. For example x*x will be replaced by x^2. If x is a complex
expression the later form has several advantages, in particular to
limit CSE.
- Lazy semantics to select2 and select3 : the code generated for
select2 and select3 is now based on conditional expressions
((cond)?exp1:exp0 ) instead of tables. The resulting code is more
efficient as the stateless parts of the branches are not computed
every time but only when really needed.
- new --task-graph option. It produces a graphical representation
of the internal DAG of task in dot format (Graphviz
http://www.graphviz.org/). This DAG is useful for example to
understand the potential parallelism of a program as analyzed by
the Faust compiler
- Two new tools : faust2graph and faust2graphviewer. These tools
make use of the --task-graph option in order to produce the
graphical representation, as a PDF file, of the internal DAG of
tasks of a Faust program (require Graphviz).
- new reduce.lib library. It provides various operations on block
of samples based on a high order 'reduce(op, n)' fold-like
function. Moreover the music.lib library has been extended with
break-point functions and multiple decorrelated random and noise
generators. New flanger and stereowidth control have been added to
the effect.lib library.
- new iPhone architecture. It consists in a iphone-cocoa.cpp
architecture file and an Xcode template project to be used to
produce the applications. Use "make iphone" in the example folder
to build the examples for the iPhone.
- improved cross plateform compatibility and brand new visual
studio 2008 project to build Faust on windows machines.
----------
Bug Fixes:
----------
- Report error when non-integer table size is detected during
compilation
- Corrected partial application of power operator. Now ^(n) is
equivalent to \(x).(x^n) and not anymore to \(x).(n^x)
- Added missing faustpower definition when power function is
used only in table content.
- Fixed lock-free implementations of PopHead and PopTail functions on
work stealing queues in --scheduler mode
- Corrected missing dependencies in the internal DAG of tasks
- Added missing cache code to slow shared expressions used delayed
- Added missing cache code to foreign functions
----------------
Acknowledgments:
----------------
Many persons have been contributing to the FAUST project by
providing code for the compiler, architecture files, libraries,
examples, documentation, scripts, bug reports, ideas, etc.
I would like to thank them and especially: Fons Adriaensen, Tiziano
Bole, Baktery Chanka, Thomas Charbonnel, Damien Cramet, Etienne
Gaudrin, Albert Graef, Stefan Kersten, Victor Lazzarini, Matthieu
Leberre, Mathieu Leroi, Kjetil Matheussen, Remy Muller, Sampo
Savolainen, Nicolas Scaringella, Stephen Sinclair, Travis Skare,
Julius Smith, as well as my colleagues at GRAME, in particular :
Dominique Fober, Stephane Letz and Karim Barkati, and from the
ASTREE project : Jerome Barthelemy (IRCAM), Alain Bonardi (IRCAM),
Raffaele Ciavarella (IRCAM), Pierre Jouvelot (Ecole des
Mines/ParisTech), Laurent Pottier (U. Saint-Etienne)
Yann Orlarey
GRAME
Hi LADs,
Following up on the LAC Tools round-table, I've started a wiki page:
http://wiki.linuxaudio.org/wiki/tools_comparison
Since I've not taken part in the discussion, I'm missing a few footnotes
and explanation for keys in the context (eg. batch, sync). Could you
please enlighten me, or just fill in the missing content there.
IMHO it'd also make sense to do a 2nd table with orthogonal practical
information, for instance:
audio: JACK,ALSA,..
midi: JACK,ALSA,ALSA-seq
audio-file-formats: pcm,mp3,gig,mid,..
control: OSC,TCP,pipe,MMC,..
interop/sync: jack-transport,MTC
plugins (if applicable): LV2,LADSPA,VST,AU,..
Come to think of it, those could be integrated in the apps-database as
tags for each tool, similar to:
http://wiki.linuxaudio.org/apps/categories/jack_transport
but let's get the categories/tags straightened out before starting on an
implementation and posting it to LAU. What do you think?
Cheers!
robin
Greetings;
Can someone go look at lists.linuxaudio.org? The bottom line of the message
is timing out.
Thanks.
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
"Live or die, I'll make a million."
-- Reebus Kneebus, before his jump to the center of the earth, Firesign
Theater