Hi all, I've tried contacting the maintainer of the project (Andy), but
he never bothered to reply, so now I am taking this question to all of
you out there that might have had exposure to this interesting library.
Does anyone know what is the current status of the whole project anyhow?
Any help on this matter is greatly appreciated! When answering any of
the given questions, please include the question in your reply. Thank
you very much!
So here's the excerpt from the letter:
I've recently decided to incorporate libalsaplayer-like functionality
the upcoming version of my app RTMix. However, with having a particular
feature in mind I am wondering whether libalsaplayer provides that and
if not, whether you'd be willing to add it (or let me add it, although
that might get messy since I am not too familiar with the inner workings
of the lib). So, here it goes:
Apart from all the wonderful features libalsaplayer offers, I am looking
for some additional ones:
I would like to be able to indefinitely loop specific "ranges" of a
particular soundfile (i.e. 2.2secs-4.12secs or whatever).
1. Is it possible to do this and have music continually loop even if one
changes the direction of playing so that when the alsaplayer runs out of
the looping material in each direction that it just jumps back onto the
other end of the loop and contiues on (kind of like a ring-buffer)?
2. Is it also possible to do this kind of looping on the whole soundfile
(the gui version of alsaplayer always stops if I let it play 'til the
end or the beginning, depending in which direction I am going).
3. Is it possible to define loop points by addressing a particular
sample number rather than giving time in seconds?
4. How stable is alsaplayer when looping really small chunks of sound
(i.e. like 5 sample loop)?
5. Is alsaplayer capable of ramping such loop points by attenuating
let's say ending 20 samples (it would be cool if this number could be
user-selectable) and then ramping up the beginning 20 samples in order
to alleviate the "pop" that happens when looping a sound where waveforms
at the beginning and the end do not align?
6. If the feature in question 5 does not exist is there a way to control
output level of a player on a per-sample basis via callback so that one
can implement that outside of the lib?
7. If neither 5 or 6 are possible, would you be willing to implement
such functionality (i.e. a toggle_ramp( bool ); and set_ramp_length( int
); callbacks or something similar.
I would greatly appreciate your feedback on this matter as that will
greatly assist me in determining how to go about implementing such
functionality in my app.
Thank you very much! Looking forward to hearing from you. Sincerely,
Ivica Ico Bukvic, composer & multimedia sculptor
http://meowing.ccm.uc.edu/~ico
P.S. How do you implement reading of a sound faster and slower than it
sounds in such a gradual fashion? Do you adjust the sampling rate of the
DSP and if so does that affect other streams coming from the
libalsaplayer, or is this something that is sound-specific (and if so,
how)?
Just a FYI. Those of you on ardour-dev will have parts of this list in
various "latest CVS commit" messages. People using old versions of
ardour should update. This new beta has lots of great stuff, with more
to come. The new Mantis bug reporting/tracking system is making life
way better for everyone.
--p
----------------------------------------------------------------------
* additions/updates to AUTHORS
* point people at ardour.sf.net/mantis for bug reporting
* new region selection model
- button1 press always selects
- shift-button1 press adds an unselected region,
unselects a selected region
- more comfortable "selected region" color
* new align_selection and align_relative commands
* alignment now uses edit cursor
* new commands to move playhead + edit cursor
to region starts, ends and sync points
* new zoom control interface, permitting arbitrary zoom
levels (not just power-of-2)
* new "add track/bus" dialog, allowing N to be added
at once
* mixer meters now support metering to +6dB, with new
pixmap so that only >0dB is red.
* initial implementation of 2-stage "clean up unusued audio files"
* fix for transport lockup
* fix for crashing bug when exporting at non-session frame rate
* better functionality when editing AudioClocks
* removed musical (BBT) time from Selection model
* snap to region start/end/sync
* snap to edit cursor
* avoid neon when picking new colors
* new transport pixmaps that are theme/skin resistant
* tempo/measure lines now extend past end of session
* hide editor mixer strip when clicking on current mixer track
* brush mode works again ("paint" a region onto snap points)
* added back "embed" functionality for referring to external
soundfiles without importing
* scroll playhead or edit cursors in the timeline rulers
* check all X keyboard modifiers at startup, warn about duplicates
* fixed crashing bug when marker was removed
* allowed command-line specification of JACK client name
* fixed mouse drags of torn off windows
* code cleanup and redesign
Hi all,
LADCCA's now reached a state where I reckon it's worth releasing again.
It's pretty stable for me, and it now seems to do what it should without
any hiccups. I'm releasing alsa patch bay and jack rack along with it
as the only changes are support for the new ladcca version. ALSA Patch
Bay has had 1.0-ness for a while now so I'm taking the opportunity to
bump the version. There's only two other supported apps at the moment,
muse, which already has 0.4.0 support in cvs and fluidsynth, a patch for
which is included in the tarball.
From the ladcca NEWS file:
* low level tcp protocol has changed along with a lot of structure clean
ups on the client- and server-side.
* added low level protocol versioning
* well defined server interface protocol (that works! :) this has been
the bulk of the work that's added two more properties to cca_event_t,
client_id and project, bumped the major version of the high level
protocol and caused more changes to the low level protocol
* new high level normal client event, CCA_Server_Lost
* removed CCA_Use_Jack and CCA_Use_Alsa client flags; sending the server
the jack client name or alsa client id now suffices
* major amounts of cleanups and fixes
* server now saves project info in XML which means a new dependency on
libxml2
* socket stuff now uses protocol-agnostic system calls and the server
defaults to IPv6. an entry in /etc/services is required to support
this. make install will install an entry if there isn't one present.
this can be disabled with a configure option, --disable-serv-inst.
there's also a new option for ladccad, --no-ipv6 which, suprisingly,
stops the server using ipv6.
* the --with-default-dir configure option and -d ladccad option now set
the directory relative to $HOME, rather than being a system-wide
directory
* project directories now get cleaned up if they haven't been saved
* updated the manual
Patches
* fluidsynth cvs
http://pkl.net/~node/ladcca.htmlhttp://pkl.net/~node/alsa-patch-bay.htmlhttp://pkl.net/~node/jack-rack.html
Bob
--
Bob Ham <rah(a)bash.sh>
"At some point, keystroke recorders got installed on several machines at
Valve. Our speculation is that these were done via a buffer overflow in
Outlook's preview pane." -- Gabe Newell on the Half-Life 2 source leak
1)is API monolithous or there are sub-APIs
like GMPI-audio, GMPI-seq, GMPI-control
2) Explicit versioning for API?
3) Explicit versioning for plugins?
4) uniq IDs for plugins?
who is authority?
5) format for plugin state saving:
XML? (damn its ugly!)
I vote for more YAML-like language.
6) Should the GMPI discussion produce
reference plugin implementation
reference host implementation
reference tools implementation
7) Can there be off-line non real-time plugins?
8) Should the specification produce
any requirement for more documents?
For example:
A documant describing standard set of plugins
(like in General Midi) so one could expect
the first 64 plugins to be so and so.
horsh
Well it's just requirements?
Then what about :
1) jack-transport-like and
2) LADCCA-like functionality?
the requirement resolution could sound as:
"GMPI does not need such functionality",
but if it souns as "GMPI _does_ need..."
then it would be very welcome.
horsh
====================8<==========================
One of my tasks as part of GMPI is to provide a draft of the requirements
doc. I turn tp you all. If you have requirements that you think should be
in GMPI - please let me know. These have to be requirements. Not
handwaving though explosions, and not wishful dreaming. Things that are
required or desired that will make GMPI be the open music platform we need.
Feel free to email me privately or publicly. I'll be happy to condense
ideas and to extract requirements from whatever you have for me.
Trying to get the ball rolling again...
Tim
One of my tasks as part of GMPI is to provide a draft of the requirements
doc. I turn tp you all. If you have requirements that you think should be
in GMPI - please let me know. These have to be requirements. Not
handwaving though explosions, and not wishful dreaming. Things that are
required or desired that will make GMPI be the open music platform we need.
Feel free to email me privately or publicly. I'll be happy to condense
ideas and to extract requirements from whatever you have for me.
Trying to get the ball rolling again...
Tim
--
Notice that as computers are becoming easier and easier to use,
suddenly there's a big market for "Dummies" books. Cause and effect,
or merely an ironic juxtaposition of unrelated facts?
>It's called OProfiler.
>"OProfile can help you identify issues such as loop unrolling, poor cache
>utilization, inefficient type conversion and redundant operations, branch
>mispredictions, and so on."
There is an oprofile rpm supplied with RedHat 9