On 11.11.2012 12:00, Florian Paul Schmidt wrote:
> On 11/11/2012 11:43 AM, Kjetil Matheussen wrote:
>> On 11.11.2012 11:38, Florian Paul Schmidt wrote:
>>> Illegal instruction (core dumped)
>>
>> Does your cpu have sse instructions?
>> (Hmm, I guess all 64 bit cpus have that)
>>
>> I'll download ubuntu lts and install it in virtualbox. I tried the
>> non-lts
>> version of ubuntu 12, and that worked, but lts seems to use an
>> older version of Qt, and perhaps have other differences as well.
>>
> Ah, here we go. I was just being stupid:
>
Thank you!
It seems like floorf crashes on your machine. (although I'm not
entirely sure the line number is correct since it was compiled with
-O3)
Which CPU do you have?
And why does this happen?
Radium is compiled with "-O3 -mtune=generic -msse"
Shouldn't that make it run on all CPUs that have sse instructions?
> fps@olive:~/local/opt/radium64_dist$ gdb bin/radium bin/core
> GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
> Copyright (C) 2012 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> For bug reporting instructions, please see:
> <http://bugs.launchpad.net/gdb-linaro/>...
> Reading symbols from
> /home/fps/local/opt/radium64_dist/bin/radium...done.
> [New LWP 13663]
> [New LWP 13666]
> [New LWP 13665]
> [New LWP 13667]
>
> warning: Can't read pathname for load map: Input/output error.
>
> warning: Could not load shared library symbols for 43 libraries, e.g.
> ./libgio-2.0.so.
> Use the "info sharedlibrary" command to see the complete listing.
> Do you need "set solib-search-path" or "set sysroot"?
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library
> "/lib/x86_64-linux-gnu/libthread_db.so.1".
> Core was generated by `./radium'.
> Program terminated with signal 4, Illegal instruction.
> #0 floorf (__x=<optimized out>) at
> /usr/include/bits/mathinline.h:228
> 228 /usr/include/bits/mathinline.h: No such file or directory.
> (gdb) bt
> #0 floorf (__x=<optimized out>) at
> /usr/include/bits/mathinline.h:228
> #1 Zita_dsp::instanceInit (this=0x7f8012d6c010, samplingFreq=48000,
> samplingFreq@entry=<error reading variable: Could not find type
> for DW_OP_GNU_const_type>) at audio/zita_rev.cpp:292
> #2 0x00000000004b007e in init (samplingFreq=<error reading variable:
> Could not find type for DW_OP_GNU_const_type>,
> this=<optimized out>) at audio/zita_rev.cpp:393
> #3 create_effect_plugin_data
> (plugin_type=plugin_type@entry=0x863ea0, plugin=plugin@entry=0x0,
> samplerate=48000,
> blocksize=blocksize@entry=1024) at audio/zita_rev.cpp:1073
> #4 0x00000000004b2ac0 in create_zita_rev_plugin () at
> audio/zita_rev.cpp:1239
> #5 0x0000000000563263 in PR_init_plugin_types () at
> audio/SoundPluginRegistry.cpp:267
> #6 0x0000000000568649 in MIXER_start () at audio/Mixer.cpp:472
> #7 0x000000000042de7d in InitProgram () at common/control.c:97
> #8 0x000000000045cd18 in radium_main (arg=arg@entry=0x7f803e60c52c
> "") at Qt/Qt_Main.cpp:389
> #9 0x000000000049e86f in init_radium (arg=0x7f803e60c52c "",
> gkf=0x7f803e546aa0) at api/api_common.c:61
> #10 0x000000000049e3cf in _wrap_init_radium (self=<optimized out>,
> args=<optimized out>) at api/radium_wrap.c:572
> #11 0x00000035a5edd0e1 in ?? ()
> #12 0x00007f8000000000 in ?? ()
> #13 0x0000000000000000 in ?? ()
> (gdb) thread apply all bt
>
> Thread 4 (Thread 0x7f8032509700 (LWP 13667)):
> #0 sem_timedwait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S:102
> #1 0x00007f803dd4ebd2 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #2 0x00007f803dd3d6c9 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #3 0x00007f803dd3c217 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #4 0x0000000000568ce6 in Mixer::RT_thread (this=0x12a68d0) at
> audio/Mixer.cpp:385
> #5 0x0000000000568dd9 in Mixer::RT_rjack_thread (arg=<optimized
> out>) at audio/Mixer.cpp:424
> #6 0x00007f803dd3ac47 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #7 0x00007f803dd4e1b0 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #8 0x00007f803e261e9a in start_thread (arg=0x7f8032509700) at
> pthread_create.c:308
> #9 0x00007f803cf25cbd in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #10 0x0000000000000000 in ?? ()
>
> Thread 3 (Thread 0x7f8032621700 (LWP 13665)):
> #0 pthread_cond_wait@@GLIBC_2.3.2 () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
> #1 0x00007f803dd4f804 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #2 0x00007f803dd4adb1 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #3 0x00007f803dd4e1b0 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #4 0x00007f803e261e9a in start_thread (arg=0x7f8032621700) at
> pthread_create.c:308
> #5 0x00007f803cf25cbd in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #6 0x0000000000000000 in ?? ()
>
> Thread 2 (Thread 0x7f80325a0700 (LWP 13666)):
> #0 0x00007f803e268d2d in read () at
> ../sysdeps/unix/syscall-template.S:82
> #1 0x00007f803dd4ffba in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #2 0x00007f803dd52966 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #3 0x00007f803dd4e1b0 in ?? () from
> /usr/lib/x86_64-linux-gnu/libjack.so.0
> #4 0x00007f803e261e9a in start_thread (arg=0x7f80325a0700) at
> pthread_create.c:308
> #5 0x00007f803cf25cbd in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #6 0x0000000000000000 in ?? ()
>
> Thread 1 (Thread 0x7f803e648840 (LWP 13663)):
> #0 floorf (__x=<optimized out>) at
> /usr/include/bits/mathinline.h:228
> #1 Zita_dsp::instanceInit (this=0x7f8012d6c010, samplingFreq=48000,
> samplingFreq@entry=<error reading variable: Could not find type
> for DW_OP_GNU_const_type>) at audio/zita_rev.cpp:292
> #2 0x00000000004b007e in init (samplingFreq=<error reading variable:
> Could not find type for DW_OP_GNU_const_type>,
> this=<optimized out>) at audio/zita_rev.cpp:393
> #3 create_effect_plugin_data
> (plugin_type=plugin_type@entry=0x863ea0, plugin=plugin@entry=0x0,
> samplerate=48000,
> blocksize=blocksize@entry=1024) at audio/zita_rev.cpp:1073
> #4 0x00000000004b2ac0 in create_zita_rev_plugin () at
> audio/zita_rev.cpp:1239
> #5 0x0000000000563263 in PR_init_plugin_types () at
> audio/SoundPluginRegistry.cpp:267
> #6 0x0000000000568649 in MIXER_start () at audio/Mixer.cpp:472
> #7 0x000000000042de7d in InitProgram () at common/control.c:97
> #8 0x000000000045cd18 in radium_main (arg=arg@entry=0x7f803e60c52c
> "") at Qt/Qt_Main.cpp:389
> #9 0x000000000049e86f in init_radium (arg=0x7f803e60c52c "",
> gkf=0x7f803e546aa0) at api/api_common.c:61
> #10 0x000000000049e3cf in _wrap_init_radium (self=<optimized out>,
> args=<optimized out>) at api/radium_wrap.c:572
> #11 0x00000035a5edd0e1 in ?? ()
> #12 0x00007f8000000000 in ?? ()
> #13 0x0000000000000000 in ?? ()
> (gdb)
Hello all,
I'm working on a little app utilizing 'lasound' and I've got bassically
what I want. However, somewhere there is a fault. Editing a random
variable causes a segmentation fault. I've tried gdb but except it
telling me where the application crashed (which I already knew) I did
not get anything useful out of it. To minimize my own potential errors I
have here below the example script from where I started (though I have
removed some unnecessary stuff) and commented out the 'long *outvl' and
'*outvl = -1'. Uncommenting, compile, and run this and I get a
segmentation fault.
The original script is available at the following link:
http://stackoverflow.com/questions/7657624/get-master-sound-volume-in-c-in-…
Can someone tell me where this is going wrong?
Thanks in advance, Maarten
#include <unistd.h>
#include <fcntl.h>
#include <alsa/asoundlib.h>
/*
Drawbacks. Sets volume on both channels but gets volume on one. Can be
easily adapted.
*/
int audio_volume(long* outvol)
{
snd_mixer_t* handle;
snd_mixer_elem_t* elem;
snd_mixer_selem_id_t* sid;
static const char* mix_name = "Fake";
static const char* card = "default";
static int mix_index = 0;
// long *outvl;
// *outvl = -1;
int ret = 0;
long pmin, pmax;
snd_mixer_selem_id_alloca(&sid);
//sets simple-mixer index and name
snd_mixer_selem_id_set_index(sid, mix_index);
snd_mixer_selem_id_set_name(sid, mix_name);
if ((snd_mixer_open(&handle, 0)) < 0)
return -1;
if ((snd_mixer_attach(handle, card)) < 0) {
snd_mixer_close(handle);
return -2;
}
if ((snd_mixer_selem_register(handle, NULL, NULL)) < 0) {
snd_mixer_close(handle);
return -3;
}
ret = snd_mixer_load(handle);
if (ret < 0) {
snd_mixer_close(handle);
return -4;
}
elem = snd_mixer_find_selem(handle, sid);
if (!elem) {
snd_mixer_close(handle);
return -5;
}
long minv, maxv;
snd_mixer_selem_get_playback_volume_range (elem, &minv, &maxv);
fprintf(stderr, "Volume range <%i,%i>\n", minv, maxv);
if(snd_mixer_selem_get_playback_volume(elem, 0, outvol) < 0) {
snd_mixer_close(handle);
return -6;
}
fprintf(stderr, "Get volume %i with status %i\n", *outvol, ret);
/* make the value bound to 100 */
*outvol -= minv;
maxv -= minv;
minv = 0;
*outvol = 100 * (*outvol) / maxv; // make the value bound from 0
to 100
snd_mixer_close(handle);
return 0;
}
int main(void)
{
long vol = -1;
printf("Ret %i\n", audio_volume(&vol));
return 0;
}
Good point about the driver
Unfortunately i couldnt find any info at all about this device (probably
because its cheap, new and built by a rather unknown company) and exactly
for this reason i would liks to share what i have found out
Grtz
Thijs
On 8 Nov 2012 12:43, "Paul Davis" <paul(a)linuxaudiosystems.com> wrote:
On Thu, Nov 8, 2012 at 1:54 AM, Thijs van severen <thijsvanseveren(a)gmail.com>
wrote:
>
> Hi all
>
> ...
there is a reason why MIDI is a standard protocol.
the only way that a MIDI device is not Linux compatible is if it doesn't
actually send MIDI, but instead uses some proprietary protocol which is
then converted by a device driver into MIDI that can be seen by apps on the
computer.
there are very few such devices. the question to ask is whether it has its
own device driver - if it does not, then its about 99.78% certain that it
will work on Linux or with any other MIDI capable platform/device.
A wild crosspost appears!
Laborejo, Esperanto for "Workshop", is used to craft music through notation.
It is a Lilypond GUI frontend, a MIDI creator and finally a tool collection to inspire and help you compose.
It works by reducing music-redundancy and by seperating layout and data.
Before you read the details make sure to connect to Laborejos Facebook, Twitter or Google Plus!
https://www.facebook.com/Laborejohttps://twitter.com/#!/Laborejohttps://plus.google.com/b/116744898976321238325/
Screenshot: http://www.laborejo.org/images/screenshots/latestscreenshot.png
This is the release of version 0.4
Download: https://github.com/nilsgey/Laborejo/tarball/0.4
Dependencies: http://www.laborejo.org/documentation
Linux Instructions: Unpack, cd into the created directoy, execute:
./laborejo-qt
Then use the number- and cursor keys for immediate success!
Check Help->Manual for navigational and note/rest entry keys. Everything else is in the menus.
New since version 0.3 (highlights):
* Lyrics are visible under the tracks directly and aligned to their notes
* Nicer cursor :)
* New dynamics like fp and sfz.
* New commandset for note speed entry with the numblock.
* Colored always-visible Marker in the GUI to indicate track groups. Also displays small instrument name for better orientation
* Lilypond binary and pdf viewer are now a config variable
* More Subsitutions (assign a pre-defined group to host notes. Group gets transposed and scaled accordingly). Final Fantasy arpeggio, common melody figures etc.
* Many bugfixes and small improvements that make the program work like you expected it to do anyway
Most important known problems:
* This is Alpha Grade Software. Don't use for long-term work. However, the produced midis and PDFs will last forever.
* There is no built-in jack midi output yet. You have to export midi files.
* Documentation is nearly non-existent.
* Deleting selected objects may result in strange gui behaviour. Nothing a save/reload can't fix for now.
Have fun, it would be nice to hear from you!
Nils
http://www.laborejo.org
On the eighth anniversary of hexter's first public release, I am
pleased to announce the new 1.0.0 version.
http://sourceforge.net/projects/dssi/files/hexter/1.0.0/
hexter is a software synthesizer that models the sound generation of
a Yamaha DX7 synthesizer. It can easily load most DX7 patch bank
files, edit those patches via a built-in editor or MIDI sys-ex
messages, and recreate the sound of the DX7 with greater accuracy
than any previous open-source emulation (that the author is aware
of...) hexter operates as a plugin for the DSSI Soft Synth
Interface.
Release 1.0.0 adds significant capability to hexter over the 0.6.2
release, including:
* An integrated patch editor (finally!)
* The option to use floating-point math in the synthesis code
instead of fixed-point.
* Performance optimizations.
* Better patch bank loading, thanks to Martin Tarenskeen.
* MIDI non-registered parameter (NRPN) support, thanks to Jamie
Bullock.
hexter is written and copyright (c) 2012 by Sean Bolton, and
licensed under the GNU General Public License, version 2 or later.
More information about hexter and DSSI can be found at:
http://dssi.sourceforge.net/hexter.html
>
> On 08/11/12 06:54, Thijs van severen wrote:
>
> Last week my brother got his new digital drum. its an octapad clone
>> (only cheaper) that fits our needs perfectly.
>>
>
> Heh, you left out the most important information - which device is it? :-))
>
> K.
>
>
details, details ... ;-)
it's this one http://www.thomann.de/be/millenium_dp2000_multi_pad.htm
it is class compliant, so i guess it's to be expected that it works, still
i personally prefer hearing that from someone that actually owns one (and
uses it with linux of course)
if there is no such page, wouldnt it be a good idea to create something
like this ?
i could create one on the Hydrogen site, but that would be more aimed at
drum midi devices and maybe we shouldnt limit it to that specific type of
device
a more generic page would be better IMO (something like the ffado device
list : http://www.ffado.org/?q=devicesupport/list)
ideas ?
grtz
Thijs
--
follow me on my Audio & Linux blog <http://audio-and-linux.blogspot.com/> !
Hi all
Last week my brother got his new digital drum. its an octapad clone (only
cheaper) that fits our needs perfectly.
Before we decided to get this model i googled to see if it is linux
compatible, but couldnt find anything.
Now that we have it i can confirm that it works :)
However, i was wondering if there is a page/wiki/list where i could add
this info so others can see this?
Grtz
Thijs
Hello all,
Jmeters-0.4.1 is now available at the usual place:
<http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html>
Jmeters is a Jack app offering software versions of various
traditional analog audio level meters.
This release is a major update. It offers VU meters, BBC, EBU
and DIN style PPM meters, stereo versions (using red and green
'needles') of the three PPMs, and correlation meters matching
the VU, BBC and DIN styles, most of them in different sizes and
shapes.
The Jmeters instruments have the correct 'ballistics' for both
the VU and the PPMs. Given the same input, they will indicate
exactly as the original electro-mechanical meters, all of which
are rather strictly specified in various standards documents.
New features:
* DIN style peak program meter (IEC type I).
* Stereo correlation meters.
* The default 'style' is now a rectangular frame of around 300 by
170 pixels. There is also a smaller rectangular form, and the two
original round 'Meterbridge' styles are still available for all
types except the DIN style PPM.
* The meter 'needles' are now plotted using the Cairo library which
provides much better visual quality than the raw X11 graphics used
previously.
* It is now possible to put labels on the meters, just include
them on the command line, either mixed with the Jack port names
or after them. Anything not containing a ':' is considered to be
a label instead of a Jack port name.
Many thanks to Richard Lamont for all comments and suggestions.
Enjoy !
--
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)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi LADs,
I'm pleased to declare http://ltcsmpte.sourceforge.net/ as deprecated
and release libltc-1.0.2 into the wild.
Linear (or Longitudinal) Timecode (LTC) is an encoding of SMPTE timecode
data as a Manchester-Biphase encoded audio signal. The audio signal is
commonly recorded on a VTR track or other storage media.
libltc is a LGPL library which provides functionality to encode and
decode LTC to/from timecode.
source: https://github.com/x42/libltc
documentation: http://x42.github.com/libltc/
In addition to a major API overhaul, libltc adds support for
vari-speed en/decoding and reverse LTC. Furthermore the LTC decoder's
accuracy and efficiency has been improved. The various tools that came
with ltcsmpte have been migrated to https://github.com/x42/ltc-tools .
A fully functional LTC slave and latency free encoder can be found in
Ardour3 since svn rev. 13390.
Many thanks to Chris Goddard who spent countless hours staring at
scopes, listening to LTC and doing real-world tests to assure sample
accuracy and quality in general.
Thanks to JaromÃr MikeÅ¡ and Alessio Treglia libltc has already found
its way into debian.
happy A/V syncing,
robin
PS. The timecode conversion functions of ltcsmpte are in progress to
find their way into a standalone library which is still in the works.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAEBAgAGBQJQmUUhAAoJEKCQvOAs9X8Ec1MP/iarf4wfOyjxqA2HhDz4dZIS
QwUa7u7G3XwuJeHLnRPqgXxAyf9sh8lbjbGdz36TxCPU+7uWOnyQ9bjJ5OnNObae
c0J3etwhzbSMAlWBykLgUh7rGfhd998wArqnIYmruC8OwNrSNi0A1SWITwN1IGc/
tWJAz0RfTcLT89OekaH2HQOmiLolOkKP5b1MjeMb+cRK/V8Q2p1RFDzYbUTbqiAo
7htOMNGlRu9DkGq8PGeTc5C4IeLkktpvv/WatSTbFWazc9g/tJqlAzUUMeghWHN/
UanlPQC5p/a9ETFXlcmUFpW+RVE3M6nNCrHoi5EZiK3PkPdFJYvPFe6o3ITrKwkY
tBntWjp+j/nrOHeloBQLMKHBQEpqkNJYNKTIoJlvJTCoQH3798APwE2DHDW0ImJl
9tvu7otjCTsWECJ6CWqIo7sLcKfHsmtLm7kDiwdeIAnut230FwBAd7v/tGDBtZDh
7/JmrvWYQ37NXI2onl8hW3CJAfaAv7GAEeisAdzjADMnZb17uCRPRm8qw/StrjPS
od7k/oEcrxWSNk7m6WIg2M6NfzB1N1tGMSVxiK3f5YMb91CZ/buRDC4myWMMKibf
ST+HNhjWI9VpmOUymGqLV0jpkc4Gmym0pjqDfndCEkgVMmzUCtK/861ou4LS7GUq
YqFur38zbcUhsd+E3z6Z
=b5Mo
-----END PGP SIGNATURE-----