Code Monkey home page Code Monkey logo

qmmp-sonique's Introduction

This is a plugin for Qmmp (1.6.0 or greater) visual.

Image

The following packages are required, including development headers, which some vendors split into separate packages:

  • qmmp (1.x or 2.x)
  • qt (5 for qmmp 1.x and 6 for qmmp 2.x)

To build, run Qt's qmake:

If you are building for qmmp 1.x, run:
$ qmake-qt5
And if you are building for qmmp 2.x, run:
$ qmake-qt6

Then build with make:
$ make

To install:
$ make install

This installs the plugin into Qmmp's visual plugin directory. To install to a staging area, such as for packaging:
$ make install INSTALL_ROOT=/path/to/staging

qmmp-sonique's People

Contributors

greedysky avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

qmmp-sonique's Issues

plugin does not work on Linux -- you cannot dloopen an svp file because it is not ELF format

if the OS is Linux on line 291 it states to open the Sonique SVP file with

            m_instance = dlopen(module_path);

but this will never work because a Sonique SVP file is PE32 executable (DLL) and so is not in ELF format which is the only format that dlopen on Linux can handle.

         void SoniqueWidget::generatePreset()
         {

          closePreset();

        const char *module_path = qPrintable(m_presetList[m_currentIndex]);
        fprintf (stderr, "the module path is -->%s<--\n", module_path);
        #ifdef Q_OS_UNIX
         fprintf (stderr, "calling dllpen with specified module_path ...\n");
         m_instance = dlopen(module_path, RTLD_LAZY);
         fprintf (stderr, "did we get a moduleinstance from -->%s<--\n", module_path);
        #else
        fprintf (stderr, "calling LoadLibraryA with specified module_path<--\n");
        m_instance = LoadLibraryA(module_path);
        #endif
        qDebug("[SoniqueWidget] url is %s", module_path);

       if(!m_instance)
      {
       fprintf( stderr, "dlopen get error: %s\n", dlerror() );
       qDebug("Could not load the svp file %s", module_path);
       return;
      }

log output is

    the module path is -->//ust/local/bin/qmmp-1.5.0/bin/sonique/Faited.svp<--
    calling dlopen with specified module_path ...
    did we get a moduleinstance from -->local/bin/qmmp-1.5.0/bin/sonique/Faited.svp<--
    [SoniqueWidget] url is local/bin/sonique/Faited.svp
    dlopen get error: /usr/local/bin/sonique/Faited.svp: invalid ELF header
    Could not load the svp file local/bin/sonique/Faited.svp

Why the sonique SVP file directory has been coded as a sub-directory the application path viz /usr/local/bin/sonique and not to a lib or a share diirectory or to the userś home .qmmp/sonique is anybodyś guess. It appears that this code was never tested on a Linux system before it was released.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.