[haiku-bugs] Re: [Haiku] #12899: Use fluidlite as fluidsynth replacement, add SF3 support

  • From: "Pete" <trac@xxxxxxxxxxxx>
  • Date: Sun, 07 Aug 2016 00:24:14 -0000

#12899: Use fluidlite as fluidsynth replacement, add SF3 support
-----------------------------+----------------------------
   Reporter:  korli          |      Owner:  korli
       Type:  enhancement    |     Status:  new
   Priority:  normal         |  Milestone:  R1
  Component:  Kits/Midi Kit  |    Version:  R1/Development
 Resolution:                 |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  All
-----------------------------+----------------------------

Comment (by Pete):

 Replying to [comment:4 korli]:

Well I would expect you to bundle libfluidsynth.so with your apps if
 they actually need it :)
 Why...?  Any more than I should have to bundle any other library that's
 always been packaged with Haiku -- libjpeg, say.

 The alternative is to have them depend on the fluidsynth hpkg from
 Haikuports (might be a different version)
 I doubt there are "different versions".  As I said, my stuff works
 perfectly with fluidlite.  I do my own midifile processing.

Sure fluidlite can be enhanced to provide a shared library, Haiku will
 probably still stick with the static lib at least until it happens
 upstream.

 But you're already patching ther source.  What's the objection to the two-
 line fix to CMakeLists.txt? Like this (sorry it's not canonical -- these
 are the two files I have):

 {{{
 --- CMakeLists.txt_ORIG 2016-08-04 08:09:44.000000000 -0700
 +++ CMakeLists.txt      2016-08-05 14:33:08.094896128 -0700
 @@ -96,12 +96,13 @@
  include_directories(${LIBOGG_INCLUDE_DIRS})
  include_directories(${LIBVORBIS_INCLUDE_DIRS})

 -add_library(${PROJECT_NAME} STATIC ${SOURCES})
 +add_library(${PROJECT_NAME} SHARED ${SOURCES})

  configure_file(fluidlite.pc.in fluidlite.pc @ONLY)

  set_property(TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 99)
 -install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib)
 +install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib
 +  LIBRARY DESTINATION lib)
  install(FILES ${HEADERS} DESTINATION include)
  install(FILES ${SCOPED_HEADERS} DESTINATION include/fluidsynth)
  install(FILES fluidlite.pc DESTINATION lib/pkgconfig)
 }}}

 I really don't understand why you want to make unneeded hassle for third-
 party folks... The code is going to be there; why should one have to
 duplicate it?

--
Ticket URL: <https://dev.haiku-os.org/ticket/12899#comment:5>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: