Compare commits

..

4 Commits

Author SHA1 Message Date
Tobias Doerffel
55217ac637 Made 1.0.2 release
This is a maintenance release of the 1.0.x series.
Bumped version number to 1.0.2 in CMakeLists.txt, README and lmms.rc.in.
2014-05-03 21:55:23 +02:00
Tobias Doerffel
059ddc2875 CMake/FindWine: search for wineg++ executable
Instead of relying on wineg++ being in PATH search for it as it might
reside somewhere else.
2014-05-02 00:17:42 +02:00
Tobias Doerffel
83c2019611 LadspaEffect/TAP: fix instantiation/destruction
Instead of relying on naming the init functions _init() and _fini()
declare them as constructors/destructors and use a different name so
there's no double destruction

Closes #668.
2014-05-01 23:33:40 +02:00
Tobias Doerffel
5325e635c3 CMake/FindWine: add suffix for finding library on Debian Testing
On Debian Testing the WINE libraries reside in /usr/lib/<arch>/wine.
Therefore add according suffix to search in as well.
2014-05-01 00:41:24 +02:00
24 changed files with 79 additions and 78 deletions

View File

@@ -15,7 +15,7 @@ INCLUDE(FindPkgConfig)
SET(VERSION_MAJOR "1")
SET(VERSION_MINOR "0")
SET(VERSION_PATCH "1")
SET(VERSION_PATCH "2")
#SET(VERSION_SUFFIX "")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
IF(VERSION_SUFFIX)

2
README
View File

@@ -1,4 +1,4 @@
LMMS 1.0.1
LMMS 1.0.2
===========
Copyright (c) 2004-2014 by LMMS developers

View File

@@ -8,7 +8,8 @@
#
FIND_PATH(WINE_INCLUDE_DIR windows/windows.h PATH_SUFFIXES wine)
FIND_LIBRARY(WINE_LIBRARY NAMES wine)
FIND_LIBRARY(WINE_LIBRARY NAMES wine PATH_SUFFIXES wine)
FIND_PROGRAM(WINE_CXX NAMES wineg++)
set(WINE_INCLUDE_DIRS ${WINE_INCLUDE_DIR} )
set(WINE_LIBRARIES ${WINE_LIBRARY} )

View File

@@ -2,7 +2,7 @@ lmmsicon ICON data/lmms.ico
#include <windows.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,1,0
FILEVERSION 1,0,2,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP

View File

@@ -233,10 +233,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
int i;
char ** port_names;
@@ -341,9 +341,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -436,10 +436,10 @@ LADSPA_Descriptor * stereo_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -575,9 +575,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(stereo_descriptor);
}

View File

@@ -349,10 +349,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
int i;
char ** port_names;
@@ -471,9 +471,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -574,10 +574,10 @@ LADSPA_Descriptor * stereo_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -717,9 +717,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(stereo_descriptor);
}

View File

@@ -516,10 +516,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -646,9 +646,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -696,10 +696,10 @@ LADSPA_Descriptor * stereo_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -857,9 +857,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(stereo_descriptor);
}

View File

@@ -436,10 +436,10 @@ LADSPA_Descriptor * stereo_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -607,9 +607,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(stereo_descriptor);
}

View File

@@ -494,7 +494,7 @@ run_adding_eq(LADSPA_Handle instance, unsigned long sample_count) {
void
_init() {
__attribute__((constructor)) tap_init() {
char **port_names;
LADSPA_PortDescriptor *port_descriptors;
@@ -765,7 +765,7 @@ void
void
_fini() {
__attribute__((destructor)) tap_fini() {
if (eqDescriptor) {
free((LADSPA_PortDescriptor *)eqDescriptor->PortDescriptors);

View File

@@ -596,7 +596,7 @@ run_adding_eq(LADSPA_Handle instance, unsigned long sample_count) {
void
_init() {
__attribute__((constructor)) tap_init() {
char **port_names;
LADSPA_PortDescriptor *port_descriptors;
@@ -955,7 +955,7 @@ void
void
_fini() {
__attribute__((destructor)) tap_fini() {
if (eqDescriptor) {
free((LADSPA_PortDescriptor *)eqDescriptor->PortDescriptors);

View File

@@ -324,10 +324,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -423,9 +423,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -225,10 +225,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -325,9 +325,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -418,10 +418,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
int i;
char ** port_names;
@@ -536,9 +536,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -378,10 +378,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
int i;
char ** port_names;
@@ -480,9 +480,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -665,10 +665,10 @@ LADSPA_Descriptor * stereo_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -815,9 +815,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(stereo_descriptor);
}

View File

@@ -624,10 +624,10 @@ LADSPA_Descriptor * stereo_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
int i;
char ** port_names;
@@ -748,9 +748,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(stereo_descriptor);
}

View File

@@ -228,10 +228,10 @@ cleanup_Sigmoid(LADSPA_Handle Instance) {
LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -318,9 +318,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -220,10 +220,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -323,9 +323,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -381,10 +381,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
char ** port_names;
LADSPA_PortDescriptor * port_descriptors;
@@ -471,9 +471,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -308,10 +308,10 @@ LADSPA_Descriptor * mono_descriptor = NULL;
/* _init() is called automatically when the plugin library is first
/* __attribute__((constructor)) tap_init() is called automatically when the plugin library is first
loaded. */
void
_init() {
__attribute__((constructor)) tap_init() {
int i;
char ** port_names;
@@ -425,9 +425,9 @@ delete_descriptor(LADSPA_Descriptor * descriptor) {
}
/* _fini() is called automatically when the library is unloaded. */
/* __attribute__((destructor)) tap_fini() is called automatically when the library is unloaded. */
void
_fini() {
__attribute__((destructor)) tap_fini() {
delete_descriptor(mono_descriptor);
}

View File

@@ -26,7 +26,7 @@ IF(LMMS_HOST_X86_64)
SET(EXTRA_FLAGS -m32)
# workaround for broken wineg++ in WINE 1.4 (shipped e.g. with Ubuntu Precise)
EXEC_PROGRAM( wineg++ ARGS "-v -m32 /dev/zero" OUTPUT_VARIABLE WINEBUILD_OUTPUT)
EXEC_PROGRAM( ${WINE_CXX} ARGS "-v -m32 /dev/zero" OUTPUT_VARIABLE WINEBUILD_OUTPUT)
if("${WINEBUILD_OUTPUT}" MATCHES ".*x86_64-linux-gnu/wine/libwinecrt0.a.*")
SET(EXTRA_FLAGS ${EXTRA_FLAGS} -nodefaultlibs /usr/lib/i386-linux-gnu/wine/libwinecrt0.a -luser32 -lkernel32 -lgdi32)
ENDIF()
@@ -34,7 +34,7 @@ ENDIF(LMMS_HOST_X86_64)
ADD_CUSTOM_COMMAND(
SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/RemoteVstPlugin.cpp"
COMMAND wineg++
COMMAND ${WINE_CXX}
ARGS "-I\"${CMAKE_BINARY_DIR}\"" "-I\"${CMAKE_SOURCE_DIR}/include\"" "-I\"${CMAKE_INSTALL_PREFIX}/include/wine/windows\"" "-I\"${CMAKE_INSTALL_PREFIX}/include\"" -I/usr/include/wine/windows "\"${CMAKE_CURRENT_SOURCE_DIR}/RemoteVstPlugin.cpp\"" -mwindows -lpthread ${EXTRA_FLAGS} -o RemoteVstPlugin
COMMAND find -name RemoteVstPlugin.exe -exec mv "'{}'" RemoteVstPlugin "';'"
TARGET vstbase