Bug 7579 - package request linuxsampler (command-line audio sampler)
Summary: package request linuxsampler (command-line audio sampler)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: New RPM package request (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL: http://www.linuxsampler.org/
Whiteboard:
Keywords:
Depends on: 7575 7576 7639
Blocks: 7580
  Show dependency treegraph
 
Reported: 2012-09-26 01:05 CEST by Philippe Didier
Modified: 2012-11-13 22:20 CET (History)
1 user (show)

See Also:
Source RPM: linuxsampler-1.0.0
CVE:
Status comment:


Attachments
patch to modify tthe LDFLAGS in makefiles (355 bytes, patch)
2012-09-26 01:07 CEST, Philippe Didier
Details | Diff
spec file (adapted from Mandriva's ) (3.54 KB, text/x-rpm-spec)
2012-09-26 01:08 CEST, Philippe Didier
Details
spec file for the last svn revision 2372 (3.66 KB, text/x-rpm-spec)
2012-09-30 20:00 CEST, Philippe Didier
Details
new patch to be used with the svn revision 2372 to add LDFLAGS (1.24 KB, patch)
2012-09-30 20:03 CEST, Philippe Didier
Details | Diff
modified spec file for the last svn revision 2372 (Requires added) (3.72 KB, text/x-rpm-spec)
2012-10-02 00:18 CEST, Philippe Didier
Details
spec file for the last svn revision 2378 (3.86 KB, patch)
2012-11-04 15:36 CET, Philippe Didier
Details | Diff
cleaned spec (3.77 KB, text/plain)
2012-11-05 01:16 CET, Barry Jackson
Details
script to make tarball from svn (649 bytes, text/plain)
2012-11-05 01:20 CET, Barry Jackson
Details
script to make tarball (481 bytes, text/plain)
2012-11-05 01:30 CET, Barry Jackson
Details
commented cleaned spec file (4.01 KB, text/plain)
2012-11-13 01:51 CET, Philippe Didier
Details

Description Philippe Didier 2012-09-26 01:05:21 CEST
It was provided by Mandriva2010.2

LinuxSampler is a professional grade software audio sampler 
that aims to deliver performance and features at par with 
hardware sampler devices

The spec file from Manfriva needs a little modification 
Needs a patch too

They come attached
Comment 1 Philippe Didier 2012-09-26 01:07:16 CEST
Created attachment 2858 [details]
patch to modify tthe LDFLAGS in makefiles
Comment 2 Philippe Didier 2012-09-26 01:08:07 CEST
Created attachment 2859 [details]
spec file (adapted from Mandriva's )
Philippe Didier 2012-09-26 01:08:41 CEST

Depends on: (none) => 7575, 7576

Philippe Didier 2012-09-26 01:15:26 CEST

Summary: command-line audio sampler => package request linuxsampler (command-line audio sampler)

Philippe Didier 2012-09-26 01:19:18 CEST

Blocks: (none) => 7580

Philippe Didier 2012-09-26 01:33:59 CEST

URL: (none) => http://www.linuxsampler.org/
Whiteboard: (none) => MGA2TOO

Comment 3 Philippe Didier 2012-09-30 20:00:54 CEST
Created attachment 2883 [details]
spec file for the last svn revision 2372

NB 
You need to download the last svn revision
Use Make -f Makefile.cvs on the downloaded directory
Compress the modified directory in tar.bz format
Name it linuxsampler-svn2372.tar.bz2

Use the new patch to modify the LDFLAGS
Comment 4 Philippe Didier 2012-09-30 20:03:02 CEST
Created attachment 2884 [details]
new patch to be used with the svn revision 2372 to add LDFLAGS

new patch to be used with the svn revision 2372
Comment 5 Philippe Didier 2012-09-30 20:23:02 CEST
you may use the lv2 rpm (see bug 7639) to add the lv2 plugin ability...
if not you need to comment 4 lines in the spec file (80-81-82-83)
Comment 6 Philippe Didier 2012-10-02 00:18:28 CEST
Created attachment 2897 [details]
modified spec file for the last svn revision 2372 (Requires added)

Attachment 2883 is obsolete: 0 => 1

Philippe Didier 2012-10-19 18:30:47 CEST

Depends on: (none) => 7639

Comment 7 Philippe Didier 2012-11-04 15:36:07 CET
Created attachment 3037 [details]
spec file for the last svn revision 2378

Spec file for the latest svn revision 2378
No more patch needed (applied upstream)

We can import the last svn version instead of the tarbal from download page...
(and obsolete then 2858 and 2859 attachments)

Attachment 2884 is obsolete: 0 => 1
Attachment 2897 is obsolete: 0 => 1

Comment 8 Barry Jackson 2012-11-05 01:16:00 CET
Created attachment 3041 [details]
cleaned spec

Hi Philippe
You seem to be having a long conversation with yourself here !

I have taken a look at this and it needed gig which we don't have yet.
I have a package of gig almost ready to commit and with it linuxsampler builds, but only with some files removed.
I'm a bit short on time, so I will attach the spec as it is now {after I cleaned it somewhat ;) and also a little script to create the tarball.

You can get my builds of gig from my repo here :-
http://mtf.no-ip.co.uk/pub/linux/barjac/distrib/cauldron/x86_64/lib64gig6-3.3.0-0.svn2379.mga3.x86_64.rpm
http://mtf.no-ip.co.uk/pub/linux/barjac/distrib/cauldron/x86_64/lib64gig-devel-3.3.0-0.svn2379.mga3.x86_64.rpm
The i586 versions are in ../cauldron/i586/
Comment 9 Barry Jackson 2012-11-05 01:20:32 CET
Created attachment 3042 [details]
script to make tarball from svn

Script to make tarball from current svn trunk.
It may need chmod +x mk_tar if the download changes permissions, then place it and run it in SOURCES.
Comment 10 Barry Jackson 2012-11-05 01:30:52 CET
Created attachment 3043 [details]
script to make tarball

Oops - sorry that was an early one that I was hacking around - this is correct :)

Attachment 3042 is obsolete: 0 => 1

Comment 11 Barry Jackson 2012-11-05 12:53:21 CET
I now realize that this requires a lot more work than I thought, having seen your other requests for lv2, lscp, gigedit and gig.

I have gig almost ready. The "Requires: gig" in linuxsampler spec needs to be "Requires: libgig" I think (maybe I changed that in error - I forget), I will look again this evening. I also now see why the lv2 files were missing ;)

Philippe, why don't you start as a novice packager ?
Please consider it. I don't currently have time to act as a full time mentor to anyone, but I am willing to help you with this project as time allows, to get you started. 
If you add yourself to the list in the wiki you may find a mentor quite quickly.
 https://wiki.mageia.org/en/Becoming_a_Mageia_Packager#Packaging_apprentice_candidates

I'm sure that you will be an asset to the team! :)

CC: (none) => zen25000

Comment 12 Philippe Didier 2012-11-05 12:58:08 CET
(In reply to comment #8)
> Created attachment 3041 [details]
> cleaned spec
> 
> Hi Philippe
> You seem to be having a long conversation with yourself here !
> 
indeed .. ;)
But things changed a little since my first require and I wanted to inform anyone who is interested with computer Music of the best way to have the best working linuxsampler (I sent a bug on linuxsampler bugzilla some time ago, and yesterday the patch that I proposed to its developers was merged)

Thanks to you, I'm happy that it's no more an autistic monolog...

> I have taken a look at this and it needed gig which we don't have yet.
> I have a package of gig almost ready to commit and with it linuxsampler builds,
> but only with some files removed.

I proposed spec files for gig (bug 7575), liblscp (bug 7576), and lv2 (bug 7639)
which linuxsampler depends on... They must be commited before linuxsampler !

Of course I built my own rpms for them (with last svn versions for each of them) before building linuxsampler.
No need to remove any file this way

That is the only way to allow to build Qsampler (a GUI for linuxsampler : linuxsampler is quite useless without a Gui ) (bug 7580) that needs the last svn versions to be correctly built


> I'm a bit short on time, so I will attach the spec as it is now {after I
> cleaned it somewhat ;) 
You use slv2 as BuilRequires ... that means lv2-core and lv2-ui as provided by Mageia : these are very old version of lv2 : the lv2 developers ask now to provide an "all in one" package named lv2... that implies some changes in other Mageia rpms too (see bug 7639) 

Linuxsampler is connected with at least 8 other rpms (3 are BuildRequires for linuxsampler, 
Linuxsampler is itself a BuilRequire for Qsampler, 
and one of its BuildRequires, lv2 needs to be updated and is a BuildRequire for 4 rpms (ardour qtractor suil slv2) => their Maintainers must be OK !

Tricky isn't it ?

>and also a little script to create the tarball.
> 
thanks ! I should have provided it (and for gig, lscp and lv2 too)

> You can get my builds of gig from my repo here :-
> http://mtf.no-ip.co.uk/pub/linux/barjac/distrib/cauldron/x86_64/lib64gig6-3.3.0-0.svn2379.mga3.x86_64.rpm
> http://mtf.no-ip.co.uk/pub/linux/barjac/distrib/cauldron/x86_64/lib64gig-devel-3.3.0-0.svn2379.mga3.x86_64.rpm
> The i586 versions are in ../cauldron/i586/


Mid air collision : We were replying side by side ...
Comment 13 Philippe Didier 2012-11-13 01:50:23 CET
to Barry
You may try, first, to build  linuxsampler without lv2-plugin ability (it can be built and works without it, the configure procedure detects if lv2 headers are installed in include_dir) :

So in a first time
your spec file doesn't need 
BuildRequires:	pkgconfig(slv2)
nor
Requires: lv2
so you may comment these two lines

NB
slv2 depends on the old lv2-core and lv2-ui as provided by Mageia but is not needed itself by linuxsampler (Requiring it as BuildRequire implies in fact requiring lv2... which is needed)
the version of lv2-core is too old to be used (reason why you add to comment four files in the file list)


I propose, attached, your cleaned spec file with some modifications
("commented cleaned spec file")
Comment 14 Philippe Didier 2012-11-13 01:51:58 CET
Created attachment 3085 [details]
commented cleaned spec file

some modifications and comments on your cleaned spec file
Comment 15 Barry Jackson 2012-11-13 16:08:29 CET
(In reply to comment #14)
> Created attachment 3085 [details]
> commented cleaned spec file
> 
> some modifications and comments on your cleaned spec file

OK looking good.
It needed:
BuildRequires:	pkgconfig(sndfile)
BuildRequires:	doxygen
but now it's building OK in iurt against the recently pushed gig.
I'll try to run it with a build of liblscp later.
Comment 16 Barry Jackson 2012-11-13 18:11:12 CET
[baz@jackodesktop ~]$ linuxsampler
LinuxSampler 1.0.0.svn19
Copyright (C) 2003,2004 by Benno Senoner and Christian Schoenebeck
Copyright (C) 2005-2012 Christian Schoenebeck
Detected features: MMX SSE SSE2
Automatic Stacktrace: Off
Creating Sampler...OK
Registered sampler engines: 'GIG','SF2','SFZ'
Registered MIDI input drivers: ALSA,JACK
Registered audio output drivers: ALSA,JACK
Loading instrument editor plugins...OK
Registered instrument editors: 
Registered internal effect systems: LADSPA
Registered internal effects: 10
Starting LSCP network server (0.0.0.0:8888)...Thread: WARNING, can't mlockall() memory!
OK
LinuxSampler initialization completed. :-)

Looks OK to me - no idea what else I should do to test :\
Comment 17 Philippe Didier 2012-11-13 21:16:21 CET
Nothing else to test :
that shows that everything works (even lscp waiting to communicate on port 8888)
linuxsampler is only a commandline sampler => no need to learn the commands


Now next step : you need a gui
You can build qsampler (bug 7580) upon this linuxsampler (better integration)
or use a java gui (provided on linuxsampler project site : Fantasia for instance)

This gui will communicate through lscp with linuxsampler
it will allow to load a sample file into memory (sf2 or gig file) even a huge file if you have much memory available : a good concert piano sample may be 1 or 2 GBytes heavy )

you will be able to "create" and configure audio and midi devices communicating with linuxsampler (as input or output)

then you'll be able to connect linuxsampler to an external midi keyboard or to a sequencer (Rosegarden ) through qjackctrl and have fun
Comment 18 Barry Jackson 2012-11-13 22:20:50 CET
Excellent - I just pushed it after some more cleaning.
Just a few points for your interest - we normally remove static libs *.a *.la unless there is a very good reason not to do. I hope there is no good reason in this case as I removed them.
RPM group names are case sensitive so Sound/MIDI was wrong - it is Sound/Midi.
GPL is not a valid license tag - it is GPLv2 (I know that was not you, just pointing it out ;)
The urpmi.README was not working as packaged - see the spec in svn.
All Obsoletes must be versioned.

\o/ it built OK on BS so it's now in Cauldron when the mirrors sync.

So closing as fixed - I don't think we are aiming this at Mga2 now are we, I removed the MGA2TOO from the previous related bug and will do here as well.

Thanks Philippe, I will take a look at qsampler next.

Status: NEW => RESOLVED
Resolution: (none) => FIXED
Whiteboard: MGA2TOO => (none)


Note You need to log in before you can comment on or make changes to this bug.