Hi everybody,
I have a question.
I'm trying to figure out how to deal with transport locate changes
in my arpeggiator "flarps". I am generating MIDI events only when
necessary, so I'm not able to rewind the state of the program.
I only keep track of Note-off messages, because they can be sent
out in the future, to allow overlapping notes. All the MIDI notes
are calculated relative to each other. So I keep track of time
internally.
So I only need to know the first frame of the period,
when somebody does a jack_transport_locate, and I need to know
when this happens so I can initialize the program state.
My question is, if it would be acceptable to use the sync callback
to do this, because strictly speaking, my client wouldn't be a
slow sync client.
Is there a more preferable way to do this, or should I do major
redesign, and use the time jack provides with each period directly.
I would be very glad with any of your insights or suggestions.
greetings,
lievenmoors
Hello Everyone1
Sorry for cross posting. I just repulled Jackmp from svn, but the problem
continues.
Looking at the jack_connect source I can't see anything wrong, so it seems,
that the server doesn't properly notify jack_connect/jack_disconnect of the
finishing of the connection/disconnection process.
Does anyone else have that problem or does anyone have a possible solution?
many thanks and warm regards
Julien
--------
Music was my first love and it will be my last (John Miles)
======== FIND MY WEB-PROJECT AT: ========
http://ltsb.sourceforge.net
the Linux TextBased Studio guide
======= AND MY PERSONAL PAGES AT: =======
http://www.juliencoder.de
Hi all,
There is a new libsndile release available here:
http://www.mega-nerd.com/libsndfile/#Download
Major changes in this release are as follows:
* WAV files now have an 18 byte u-law and A-law fmt chunk.
* Document virtual I/O functionality.
* Two new methods rawHandle() and takeOwnership() in sndfile.hh.
* AIFF fix for non-zero offset value in SSND chunk.
Cheers,
Erik
--
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
hi...
we are about a week in the merge window, and linus merged the force
threaded irq handlers already. This means, that the most important
feature of the -rt patches is now in mainline.
we sould start testing it during the rc cycle, i think.
(there will not be too many people turning force threaded handler on)
i will try to write up somthing about kernel config and boot parameters
once i have a kernel running in my kvm later this week.
--
torben Hohn
Hi everyone,
just a brief update on the LAC2011 programme. The conference will have
- 25 papers on various aspects of FLOSS for audio and music
- An invited session on music programming languages and parallelism
(with
representatives of the major systems for audio/music programming)
- Five workshops varying from tools for broadcast to composition
systems.
- Two electronic music concerts and a Club Night
- Four installations.
If you're hoping to come, even if you're not sure yet, please register
on
the conference site, so we can keep stats on prospective attendees.
http://lac.linuxaudio.org/2011/?page=registration
Hoping to see you in Maynooth in May.
=======================
Dr Victor Lazzarini
Senior Lecturer
Dept. of Music
NUI Maynooth Ireland
tel.: +353 1 708 3545
Victor dot Lazzarini AT nuim dot ie
> I'd be interested to hear how various projects handles this internally, if
> anybody wants to chip in?
In mine, each parameter has two additional members:
- controller_id (32 bit int)
- SYSEX string. (for SYSEX based automation).
Controller ID is several sub-fields. The high order 8 bits are the type of
MIDI message...
enum EcontrollerType{
Learn=-2,
None=-1,
NullType=0, // ignore.
CC = 2,
RPN,
NRPN,
SYSEX,
Bender,
ChannelPressure, // monophonic aftertouch.
BPM,
TransportPlaying,
SongPosition,
Pitch = 19, // only polyphonic allowed after here. see
ControllerType::isPolyphonic().
Gate,
VelocityOn,
VelocityOff,
PolyAftertouch,
Trigger,
Active, // note-stealing. float. Active (10) = not stolen.
0.0 - Voice in rapid-mute (steal) phase.
unused1, //Reset, // int. Voice assigned new Voice ID or
re-used after period of inactivity, kill any residue of previous use. poly
ADSRs need reset to zero, filters/delays need clearing.
VirtualVoiceId, // int. usually same as MIDI note number.
};
..The next 24 bits identify the CC, RPN, or NRPN number (if relevant). With
polyphonic controllers, like poly-pressure, the key-number gets squeezed in
there too.
SYSEX string is for SYSEX controllers, it's just a unsigned char array
containing the SYSEX string with imbedded 'format specifiers' at the
'variable' parts. E.g. "FO 41 10 42 12 VV F7" ..."VV" being the value that
changes.
This system, AFAIK, handles MIDI automation for pretty much any type of MIDI
event.
Best Regards,
Jeff
> -----Original Message-----
> From: linux-audio-dev-bounces(a)lists.linuxaudio.org [mailto:linux-audio-
> dev-bounces(a)lists.linuxaudio.org] On Behalf Of linux-audio-dev-
> request(a)lists.linuxaudio.org
> Sent: Thursday, 24 March 2011 1:00 a.m.
> To: linux-audio-dev(a)lists.linuxaudio.org
> Subject: Linux-audio-dev Digest, Vol 49, Issue 16
>
> 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. Denemo is searching for a student for the Google Summer of
> Code (5000$) (Nils)
> 2. MIDI maps : C++ functions (Harry Van Haaren)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 22 Mar 2011 23:45:44 +0100
> From: Nils <nils(a)hammerfeste.com>
> Subject: [LAD] Denemo is searching for a student for the Google Summer
> of Code (5000$)
> To: linux-audio-dev(a)lists.linuxaudio.org
> Message-ID: <20110322234544.14c881d8(a)hammerfeste.com>
> Content-Type: text/plain; charset=US-ASCII
>
> Hello list!
>
> Google Summer of Code (GSoC) is a global program that offers student
> developers stipends to write code for various open source software
> projects. A participating student gets 5000$ for ca. three months of work.
> [Link 1]
>
> Denemo is participating and we would like to encourage possible students
> to contact us through our mailinglist [see attached link 2] or #denemo on
> irc.freenode.org.
>
> Our top priority project is the following, but we are also ready for
> student ideas.
>
> "Make midi/audio output realtime-capable
>
> Denemo creates MIDI messages to use them with its internal Fluidsynth-
> sampler or send them out via the Jack Audio Connection Kit. This procedure
> is not realtime-safe yet. Graphical computation and controlling Denemo
> during playback creates playback-glitches. In order to fix this the
> midi/audio subsystem should run in its own realtime-thread and get
> priority. Needed student skills: Programming in C, experience in threads
> and realtime programming. Useful: Knowledge of MIDI and the Jack Audio
> Connection Kit."
>
>
> Links:
> [0] http://www.denemo.org
> [1] http://www.google-melange.com/
> [2] http://www.denemo.org/index.php/Community
> [3] http://www.gnu.org/software/soc-projects/ideas-2011.html#denemo
>
> P.S.
> If you are not a student feel free do contact us anyway and help Denemo
> like the rest of the team :)
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 23 Mar 2011 00:44:24 +0000
> From: Harry Van Haaren <harryhaaren(a)gmail.com>
> Subject: [LAD] MIDI maps : C++ functions
> To: Linux Audio Developers <linux-audio-dev(a)lists.linuxaudio.org>
> Message-ID:
> <AANLkTimae2N_4LBRC-Zh_1qisTrPOByv+QRfGepwFW5B(a)mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hey guys,
>
> I'm wondering how to approach creating a MIDI map to all controllers
> available in the GUI. Needless to say I can hard code in a MIDI CC, and
> from
> JACK's process callback call the function that I want to map that control
> to, but that's a little rigid.
>
> I like Ardour's one-click map idea, and I'm wondering how its implemented.
> Here's what I concluded so far:
> On mouse_3 down, pop up dialog, send message to JACK process to keep next
> MIDI input stored somewhere. That's the CC to map
>
> Where I'm getting stuck is how to make each CC point to a different
> "parameter" in the software, or a different function in the code. Function
> pointers come to mind, but somehow I don't like that idea much. Creating a
> generic interface to map every control in the entire engine might work,
> but
> I think that may be a little overkill?
>
> I'd be interested to hear how various projects handles this internally, if
> anybody wants to chip in?
> Cheers, -Harry
>
Hello list!
Google Summer of Code (GSoC) is a global program that offers student developers stipends to write code for various open source software projects. A participating student gets 5000$ for ca. three months of work. [Link 1]
Denemo is participating and we would like to encourage possible students to contact us through our mailinglist [see attached link 2] or #denemo on irc.freenode.org.
Our top priority project is the following, but we are also ready for student ideas.
"Make midi/audio output realtime-capable
Denemo creates MIDI messages to use them with its internal Fluidsynth-sampler or send them out via the Jack Audio Connection Kit. This procedure is not realtime-safe yet. Graphical computation and controlling Denemo during playback creates playback-glitches. In order to fix this the midi/audio subsystem should run in its own realtime-thread and get priority. Needed student skills: Programming in C, experience in threads and realtime programming. Useful: Knowledge of MIDI and the Jack Audio Connection Kit."
Links:
[0] http://www.denemo.org
[1] http://www.google-melange.com/
[2] http://www.denemo.org/index.php/Community
[3] http://www.gnu.org/software/soc-projects/ideas-2011.html#denemo
P.S.
If you are not a student feel free do contact us anyway and help Denemo like the rest of the team :)
Hi all,
I'm glad to announce the release of NASPRO 0.2.90.
NASPRO (http://naspro.atheme.org/) is meant to be a cross-platform
sound processing software architecture built around the LV2 plugin
standard (http://lv2plug.in/).
The goal of the project is to develop a series of tools to make it
easy and convenient to use LV2 for sound processing on any (relevant)
platform and for everybody: end users, host developers, plugin
developers, distributors and scientists/researchers.
This release is a total redesign/rewrite that more or less
reimplements the features of the previous release, but in a much
cleaner and maintainable way.
It includes:
* NASPRO core: the portable runtime library at the bottom of the architecture;
* NASPRO Bridge it: a little helper library to develop
insert-your-API-here to LV2 bridges;
* NASPRO bridges: a collection of bridges to LV2 which, once
installed, allow you to use plugins developed for other plugin
standards in LV2 hosts.
In particular, the NASPRO bridges collection includes two bridges: a
LADSPA (http://www.ladspa.org/) 1.1 and a DSSI
(http://dssi.sourceforge.net/) 1.0.0/1.1.0 bridge.
All of the code is released under the LGPL 2.1
(http://www.gnu.org/licenses/lgpl-2.1.html) license.
More information is available on the project's website.
Enjoy!
Stefano D'Angelo
I would like to announce the release of flarps-0.1.0
Flarps is an arpeggiator for Linux. It uses JACK MIDI to generate
melodies, and it can be controlled live by editing a text file in
a simple text-editor.
Flarps is designed around the notion of 'steps'. A step describes
the relative distance between two MIDI notes, and has a horizontal
and a vertical component. Vertically, a difference in pitch is
specified, and horizontally a distance in time (rhythm).
You can find a lot more information about flarps here:
http://flarps.sourceforge.net/
You can download it directly at:
http://sourceforge.net/projects/flarps/files/flarps-0.1.0.tar.bz2/download
Or you can clone the git repository with:
git clone git://flarps.git.sourceforge.net/gitroot/flarps/flarps
For bug reports, feature requests, support requests etc., please use
the facilities at the sourceforge project site.
New ideas or patches for this project are very welcome.
If you want to collaborate on this project, you can find
me on the linux-audio-dev mailing list.
lievenmoors