Bug 233462 - audio/lmms: Unbreak build with FluidSynth 2.x
Summary: audio/lmms: Unbreak build with FluidSynth 2.x
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Tobias Kortkamp
URL:
Keywords: patch
Depends on:
Blocks: 233448
  Show dependency treegraph
 
Reported: 2018-11-24 05:55 UTC by Tobias Kortkamp
Modified: 2018-12-08 10:11 UTC (History)
1 user (show)

See Also:
tobik: maintainer-feedback-


Attachments
lmms-fluidsynth2.diff (12.22 KB, patch)
2018-11-24 05:55 UTC, Tobias Kortkamp
tobik: maintainer-approval? (rodrigo)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Kortkamp freebsd_committer freebsd_triage 2018-11-24 05:55:16 UTC
Created attachment 199507 [details]
lmms-fluidsynth2.diff

LMMS doesn't currently build with FluidSynth 2.x.  Add the patch from
[1] to fix the build with both FluidSynth 1 and 2.

/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:101:20: error: use of undeclared identifier 'FLUID_REVERB_DEFAULT_ROOMSIZE'
        m_reverbRoomSize( FLUID_REVERB_DEFAULT_ROOMSIZE, 0, 1.0, 0.01f, this, tr( "Reverb Roomsize" ) ),
                          ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:102:19: error: use of undeclared identifier 'FLUID_REVERB_DEFAULT_DAMP'; did you mean 'FLUID_INTERP_DEFAULT'?
        m_reverbDamping( FLUID_REVERB_DEFAULT_DAMP, 0, 1.0, 0.01, this, tr( "Reverb Damping" ) ),
                         ^~~~~~~~~~~~~~~~~~~~~~~~~
                         FLUID_INTERP_DEFAULT
/usr/local/include/fluidsynth/synth.h:200:5: note: 'FLUID_INTERP_DEFAULT' declared here
    FLUID_INTERP_DEFAULT = FLUID_INTERP_4THORDER, /**< Default interpolation method */
    ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:103:17: error: use of undeclared identifier 'FLUID_REVERB_DEFAULT_WIDTH'
        m_reverbWidth( FLUID_REVERB_DEFAULT_WIDTH, 0, 1.0, 0.01f, this, tr( "Reverb Width" ) ),
                       ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:104:17: error: use of undeclared identifier 'FLUID_REVERB_DEFAULT_LEVEL'
        m_reverbLevel( FLUID_REVERB_DEFAULT_LEVEL, 0, 1.0, 0.01f, this, tr( "Reverb Level" ) ),
                       ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:106:15: error: use of undeclared identifier 'FLUID_CHORUS_DEFAULT_N'; did you mean 'FLUID_VOICE_DEFAULT'?
        m_chorusNum( FLUID_CHORUS_DEFAULT_N, 0, 10.0, 1.0, this, tr( "Chorus Lines" ) ),
                     ^~~~~~~~~~~~~~~~~~~~~~
                     FLUID_VOICE_DEFAULT
/usr/local/include/fluidsynth/voice.h:46:5: note: 'FLUID_VOICE_DEFAULT' declared here
    FLUID_VOICE_DEFAULT           /**< For default modulators only, no need to check for duplicates */
    ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:107:17: error: use of undeclared identifier 'FLUID_CHORUS_DEFAULT_LEVEL'
        m_chorusLevel( FLUID_CHORUS_DEFAULT_LEVEL, 0, 10.0, 0.01, this, tr( "Chorus Level" ) ),
                       ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:108:17: error: use of undeclared identifier 'FLUID_CHORUS_DEFAULT_SPEED'
        m_chorusSpeed( FLUID_CHORUS_DEFAULT_SPEED, 0.29, 5.0, 0.01, this, tr( "Chorus Speed" ) ),
                       ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:109:17: error: use of undeclared identifier 'FLUID_CHORUS_DEFAULT_DEPTH'
        m_chorusDepth( FLUID_CHORUS_DEFAULT_DEPTH, 0, 46.0, 0.05, this, tr( "Chorus Depth" ) )
                       ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:395:17: error: variable has incomplete type 'fluid_preset_t' (aka '_fluid_preset_t')
        fluid_preset_t preset;
                       ^
/usr/local/include/fluidsynth/types.h:41:16: note: forward declaration of '_fluid_preset_t'
typedef struct _fluid_preset_t fluid_preset_t;                  /**< SoundFont preset */
               ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:408:14: error: member access into incomplete type 'fluid_sfont_t' (aka '_fluid_sfont_t')
                        pSoundFont->iteration_start( pSoundFont );
                                  ^
/usr/local/include/fluidsynth/types.h:40:16: note: forward declaration of '_fluid_sfont_t'
typedef struct _fluid_sfont_t fluid_sfont_t;                    /**< SoundFont */
               ^
/construction/home/tobias/ports/fluidsynth/audio/lmms/work/lmms-1.2.0-rc7/plugins/sf2_player/sf2_player.cpp:409:21: error: member access into incomplete type 'fluid_sfont_t' (aka '_fluid_sfont_t')
                        while( pSoundFont->iteration_next( pSoundFont,
                                         ^
/usr/local/include/fluidsynth/types.h:40:16: note: forward declaration of '_fluid_sfont_t'
typedef struct _fluid_sfont_t fluid_sfont_t;                    /**< SoundFont */
               ^
11 errors generated.

[1] https://github.com/LMMS/lmms/commit/1f7cd3ed5af6640c0e38a2dc2d9be5a9ae036dc8.patch
Comment 1 Tobias Kortkamp freebsd_committer freebsd_triage 2018-12-08 09:46:54 UTC
Will commit with maintainer timeout.
Comment 2 commit-hook freebsd_committer freebsd_triage 2018-12-08 10:11:09 UTC
A commit references this bug:

Author: tobik
Date: Sat Dec  8 10:10:58 UTC 2018
New revision: 486933
URL: https://svnweb.freebsd.org/changeset/ports/486933

Log:
  audio/lmms: Fix build with FluidSynth 2.x

  plugins/sf2_player/sf2_player.cpp:101:20: error: use of undeclared identifier 'FLUID_REVERB_DEFAULT_ROOMSIZE'
          m_reverbRoomSize( FLUID_REVERB_DEFAULT_ROOMSIZE, 0, 1.0, 0.01f, this, tr( "Reverb Roomsize" ) ),
                            ^
  plugins/sf2_player/sf2_player.cpp:102:19: error: use of undeclared identifier 'FLUID_REVERB_DEFAULT_DAMP'; did you mean 'FLUID_INTERP_DEFAULT'?
          m_reverbDamping( FLUID_REVERB_DEFAULT_DAMP, 0, 1.0, 0.01, this, tr( "Reverb Damping" ) ),
                           ^~~~~~~~~~~~~~~~~~~~~~~~~
                           FLUID_INTERP_DEFAULT
  [...]
  plugins/sf2_player/sf2_player.cpp:395:17: error: variable has incomplete type 'fluid_preset_t' (aka '_fluid_preset_t')
          fluid_preset_t preset;
                         ^
  /usr/local/include/fluidsynth/types.h:41:16: note: forward declaration of '_fluid_preset_t'
  typedef struct _fluid_preset_t fluid_preset_t;                  /**< SoundFont preset */
                 ^

  PR:		233462
  Approved by:	rodrigo (maintainer timeout, 2 weeks)
  Obtained from:	upstream

Changes:
  head/audio/lmms/Makefile
  head/audio/lmms/files/patch-fluidsynth2