[PATCH] pcm_ladspa: add support for softfloat

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The ladspa module uses math functions unconditionally which breaks when
building with --with-softfloat.  Tweak the code to only call the math
functions when HAVE_SOFT_FLOAT is not defined.

Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
---
 src/pcm/pcm_ladspa.c |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/pcm/pcm_ladspa.c b/src/pcm/pcm_ladspa.c
index 5161820..0e9321c 100644
--- a/src/pcm/pcm_ladspa.c
+++ b/src/pcm/pcm_ladspa.c
@@ -34,7 +34,9 @@
   
 #include <dirent.h>
 #include <locale.h>
+#ifndef HAVE_SOFT_FLOAT
 #include <math.h>
+#endif
 #include "pcm_local.h"
 #include "pcm_plugin.h"
 
@@ -511,36 +513,39 @@ static void snd_pcm_ladspa_get_default_cvalue(const LADSPA_Descriptor * desc, un
                 *val = desc->PortRangeHints[port].LowerBound;
                 break;
         case LADSPA_HINT_DEFAULT_LOW:
-                if (LADSPA_IS_HINT_LOGARITHMIC(hdesc)) {
+#ifndef HAVE_SOFT_FLOAT
+                if (LADSPA_IS_HINT_LOGARITHMIC(hdesc))
                         *val = exp(log(desc->PortRangeHints[port].LowerBound)
                                         * 0.75
                                         + log(desc->PortRangeHints[port].UpperBound)
                                         * 0.25);
-                } else {
+                else
+#endif
                         *val = (desc->PortRangeHints[port].LowerBound * 0.75) +
                                (desc->PortRangeHints[port].UpperBound * 0.25);
-                }
                 break;
         case LADSPA_HINT_DEFAULT_MIDDLE:
-                if (LADSPA_IS_HINT_LOGARITHMIC(hdesc)) {
+#ifndef HAVE_SOFT_FLOAT
+                if (LADSPA_IS_HINT_LOGARITHMIC(hdesc))
                         *val = sqrt(desc->PortRangeHints[port].LowerBound *
                                     desc->PortRangeHints[port].UpperBound);
-                } else {
+                else
+#endif
                         *val = 0.5 *
                                (desc->PortRangeHints[port].LowerBound +
                                 desc->PortRangeHints[port].UpperBound);
-                }
                 break;
         case LADSPA_HINT_DEFAULT_HIGH:
-                if (LADSPA_IS_HINT_LOGARITHMIC(hdesc)) {
+#ifndef HAVE_SOFT_FLOAT
+                if (LADSPA_IS_HINT_LOGARITHMIC(hdesc))
                         *val = exp(log(desc->PortRangeHints[port].LowerBound)
                                         * 0.25
                                         + log(desc->PortRangeHints[port].UpperBound)
                                         * 0.75);
-                } else {
+                else
+#endif
                         *val = (desc->PortRangeHints[port].LowerBound * 0.25) +
                                (desc->PortRangeHints[port].UpperBound * 0.75);
-                }
                 break;
         case LADSPA_HINT_DEFAULT_MAXIMUM:
                 *val = desc->PortRangeHints[port].UpperBound;
-- 
1.6.0.6

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux