Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libinstpatch for openSUSE:Factory checked in at 2021-02-04 20:22:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libinstpatch (Old) and /work/SRC/openSUSE:Factory/.libinstpatch.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libinstpatch" Thu Feb 4 20:22:33 2021 rev:8 rq:868374 version:1.1.6 Changes: -------- --- /work/SRC/openSUSE:Factory/libinstpatch/libinstpatch.changes 2020-06-02 14:33:35.274562533 +0200 +++ /work/SRC/openSUSE:Factory/.libinstpatch.new.28504/libinstpatch.changes 2021-02-04 20:23:00.034728186 +0100 @@ -1,0 +2,9 @@ +Fri Jan 29 18:11:08 UTC 2021 - Tom Mbrt <[email protected]> + +- Update to version 1.1.6 + * fix an access violation on Windows + * getter-functions for SLI have been added + * fix a memory corruption when saving the same DLS file several times + * fix compilation with MinGW + +------------------------------------------------------------------- Old: ---- libinstpatch-1.1.5.tar.gz New: ---- libinstpatch-1.1.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libinstpatch.spec ++++++ --- /var/tmp/diff_new_pack.q9ADXD/_old 2021-02-04 20:23:00.590729033 +0100 +++ /var/tmp/diff_new_pack.q9ADXD/_new 2021-02-04 20:23:00.594729039 +0100 @@ -19,7 +19,7 @@ %define sover 2 Name: libinstpatch -Version: 1.1.5 +Version: 1.1.6 Release: 0 Summary: MIDI instrument patch library License: LGPL-2.1-only ++++++ libinstpatch-1.1.5.tar.gz -> libinstpatch-1.1.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/CMakeLists.txt new/libinstpatch-1.1.6/CMakeLists.txt --- old/libinstpatch-1.1.5/CMakeLists.txt 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/CMakeLists.txt 2021-01-22 21:50:51.000000000 +0100 @@ -7,7 +7,7 @@ # project ( libInstPatch C ) -cmake_minimum_required ( VERSION 2.6.3 ) +cmake_minimum_required ( VERSION 3.0 ) set ( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ) # libInstPatch package name @@ -16,7 +16,7 @@ # libInstPatch package version set ( IPATCH_VERSION_MAJOR 1 ) set ( IPATCH_VERSION_MINOR 1 ) -set ( IPATCH_VERSION_MICRO 5 ) +set ( IPATCH_VERSION_MICRO 6 ) set ( VERSION "${IPATCH_VERSION_MAJOR}.${IPATCH_VERSION_MINOR}.${IPATCH_VERSION_MICRO}" ) set ( IPATCH_VERSION "\"${VERSION}\"" ) @@ -30,7 +30,7 @@ # if any interfaces have been removed/changed (compatibility broken): AGE=0 # This is not exactly the same algorithm as the libtool one, but the results are the same. set ( LIB_VERSION_CURRENT 2 ) -set ( LIB_VERSION_AGE 1 ) +set ( LIB_VERSION_AGE 2 ) set ( LIB_VERSION_REVISION 0 ) set ( LIB_VERSION_INFO "${LIB_VERSION_CURRENT}.${LIB_VERSION_AGE}.${LIB_VERSION_REVISION}" ) @@ -159,7 +159,7 @@ # Check for Gtk-Doc if (GTKDOC_ENABLED) - include (FindGtkDoc) + find_package(GtkDoc) endif () # General configuration file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/README.md new/libinstpatch-1.1.6/README.md --- old/libinstpatch-1.1.5/README.md 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/README.md 2021-01-22 21:50:51.000000000 +0100 @@ -1,5 +1,5 @@ # libInstPatch -### Copyright (C) 1999-2020 Element Green and others +### Copyright (C) 1999-2021 Element Green and others http://www.swamiproject.org [](https://dev.azure.com/tommbrt/tommbrt/_build/latest?definitionId=1&branchName=master) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/azure-pipelines.yml new/libinstpatch-1.1.6/azure-pipelines.yml --- old/libinstpatch-1.1.5/azure-pipelines.yml 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/azure-pipelines.yml 2021-01-22 21:50:51.000000000 +0100 @@ -58,9 +58,10 @@ - script: | @ECHO ON SET "PATH=d:\deps\bin;%PATH%" + DEL /F C:\Strawberry\perl\bin\pkg-config.bat mkdir build && cd build || exit -1 - cmake -G "Visual Studio 15 2017" -T "v141_xp" -DLIB_SUFFIX="" -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory) -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=0 .. || exit -1 - cmake --build . --config Release --target install || exit -1 + cmake -G "Visual Studio 15 2017" -T "v141_xp" -DLIB_SUFFIX="" -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory) -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_VERBOSE_MAKEFILE=0 .. || exit -1 + cmake --build . --config Debug --target install || exit -1 del $(Build.ArtifactStagingDirectory)\bin\concrt*.dll del $(Build.ArtifactStagingDirectory)\bin\vcruntime*.dll del $(Build.ArtifactStagingDirectory)\bin\msvcp*.dll @@ -97,9 +98,10 @@ - script: | @ECHO ON SET "PATH=d:\deps\bin;%PATH%" + DEL /F C:\Strawberry\perl\bin\pkg-config.bat mkdir build && cd build || exit -1 - cmake -G "Visual Studio 15 2017 Win64" -T "v141_xp" -DLIB_SUFFIX="" -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory) -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=0 .. || exit -1 - cmake --build . --config Release --target install || exit -1 + cmake -G "Visual Studio 15 2017 Win64" -T "v141_xp" -DLIB_SUFFIX="" -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory) -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_VERBOSE_MAKEFILE=0 .. || exit -1 + cmake --build . --config Debug --target install || exit -1 del $(Build.ArtifactStagingDirectory)\bin\concrt*.dll del $(Build.ArtifactStagingDirectory)\bin\vcruntime*.dll del $(Build.ArtifactStagingDirectory)\bin\msvcp*.dll @@ -136,6 +138,7 @@ - script: | @ECHO ON SET "PATH=d:\deps\bin;%PATH%" + DEL /F C:\Strawberry\perl\bin\pkg-config.bat mkdir build && cd build || exit -1 cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_INSTALL_PREFIX=$HOME/libinstpatch_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=0 .. || exit -1 cmake --build . || exit 1 @@ -163,6 +166,7 @@ - script: | @ECHO ON SET "PATH=d:\deps\bin;%PATH%" + DEL /F C:\Strawberry\perl\bin\pkg-config.bat mkdir build && cd build || exit -1 cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=$HOME/libinstpatch_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=0 .. || exit -1 cmake --build . || exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/cmake/FindGtkDoc.cmake new/libinstpatch-1.1.6/cmake/FindGtkDoc.cmake --- old/libinstpatch-1.1.5/cmake/FindGtkDoc.cmake 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/cmake/FindGtkDoc.cmake 1970-01-01 01:00:00.000000000 +0100 @@ -1,66 +0,0 @@ -# CMake macros to find the GtkDoc documentation system - -# Output variables: -# -# GTKDOC_FOUND ... set to 1 if GtkDoc was found -# -# If GTKDOC_FOUND == 1: -# -# GTKDOC_SCAN_EXE ... the location of the gtkdoc-scan executable -# GTKDOC_SCANGOBJ_EXE ... the location of the gtkdoc-scangobj executable -# GTKDOC_MKTMPL_EXE ... the location of the gtkdoc-mktmpl executable -# GTKDOC_MKDB_EXE ... the location of the gtkdoc-mkdb executable -# GTKDOC_MKHTML_EXE ... the location of the gtkdoc-mkhtml executable -# GTKDOC_FIXXREF_EXE ... the location of the gtkdoc-fixxref executable - -set(GTKDOC_FOUND 1) - -find_program(GTKDOC_SCAN_EXE gtkdoc-scan PATH "${GLIB_PREFIX}/bin") -if(NOT GTKDOC_SCAN_EXE) - message(STATUS "gtkdoc-scan not found") - set(GTKDOC_FOUND 0) -endif(NOT GTKDOC_SCAN_EXE) - -find_program(GTKDOC_SCANGOBJ_EXE gtkdoc-scangobj PATH "${GLIB_PREFIX}/bin") -if(NOT GTKDOC_SCANGOBJ_EXE) - message(STATUS "gtkdoc-scangobj not found") - set(GTKDOC_FOUND 0) -endif(NOT GTKDOC_SCANGOBJ_EXE) - -get_filename_component(_this_dir ${CMAKE_CURRENT_LIST_FILE} PATH) -find_file(GTKDOC_SCANGOBJ_WRAPPER GtkDocScanGObjWrapper.cmake PATH ${_this_dir}) -if(NOT GTKDOC_SCANGOBJ_WRAPPER) - message(STATUS "GtkDocScanGObjWrapper.cmake not found") - set(GTKDOC_FOUND 0) -endif(NOT GTKDOC_SCANGOBJ_WRAPPER) - -find_program(GTKDOC_MKTMPL_EXE gtkdoc-mktmpl PATH "${GLIB_PREFIX}/bin") -if(NOT GTKDOC_MKTMPL_EXE) - message(STATUS "gtkdoc-mktmpl not found") - set(GTKDOC_FOUND 0) -endif(NOT GTKDOC_MKTMPL_EXE) - -find_program(GTKDOC_MKDB_EXE gtkdoc-mkdb PATH "${GLIB_PREFIX}/bin") -if(NOT GTKDOC_MKDB_EXE) - message(STATUS "gtkdoc-mkdb not found") - set(GTKDOC_FOUND 0) -endif(NOT GTKDOC_MKDB_EXE) - -find_program(GTKDOC_MKHTML_EXE gtkdoc-mkhtml PATH "${GLIB_PREFIX}/bin") -if(NOT GTKDOC_MKHTML_EXE) - message(STATUS "gtkdoc-mkhtml not found") - set(GTKDOC_FOUND 0) -endif(NOT GTKDOC_MKHTML_EXE) - -find_program(GTKDOC_FIXXREF_EXE gtkdoc-fixxref PATH "${GLIB_PREFIX}/bin") -if(NOT GTKDOC_FIXXREF_EXE) - message(STATUS "gtkdoc-fixxref not found") - set(GTKDOC_FOUND 0) -endif(NOT GTKDOC_FIXXREF_EXE) - -find_program(GTKDOC_CHECK_EXE gtkdoc-check PATH "${GLIB_PREFIX}/bin") -if(NOT GTKDOC_CHECK_EXE) - message(STATUS "gtkdoc-check not found") - set(GTKDOC_FOUND 0) -endif(NOT GTKDOC_CHECK_EXE) - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/cmake/GtkDocScanGObjWrapper.cmake new/libinstpatch-1.1.6/cmake/GtkDocScanGObjWrapper.cmake --- old/libinstpatch-1.1.5/cmake/GtkDocScanGObjWrapper.cmake 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/cmake/GtkDocScanGObjWrapper.cmake 1970-01-01 01:00:00.000000000 +0100 @@ -1,44 +0,0 @@ -if(NOT APPLE) - # We use pkg-config to fing glib et al - find_package(PkgConfig) - # Find glib et al - pkg_check_modules(GLIB REQUIRED glib-2.0 gobject-2.0) - -foreach(_flag ${EXTRA_CFLAGS} ${GLIB_CFLAGS}) - set(ENV{CFLAGS} "$ENV{CFLAGS} \"${_flag}\"") -endforeach(_flag) - -foreach(_flag ${EXTRA_LDFLAGS} ${GLIB_LDFLAGS}) - set(ENV{LDFLAGS} "$ENV{LDFLAGS} \"${_flag}\"") -endforeach(_flag) - -foreach(_flag ${EXTRA_LDPATH}) - if(ENV{LD_LIBRARY_PATH}) - set(ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}:\"${_flag}\"") - else(ENV{LD_LIBRARY_PATH}) - set(ENV{LD_LIBRARY_PATH} "${_flag}") - endif(ENV{LD_LIBRARY_PATH}) -endforeach(_flag) - -message(STATUS "Executing gtkdoc-scangobj with:") -message(STATUS " CFLAGS: $ENV{CFLAGS}") -message(STATUS " LDFLAGS: $ENV{LDFLAGS}") -message(STATUS " LDPATH: $ENV{LD_LIBRARY_PATH}") - -execute_process(COMMAND ${GTKDOC_SCANGOBJ_EXE} - "--module=${doc_prefix}" - "--types=${output_types}" - "--output-dir=${output_dir}" - "--type-init-func=${type_init_func}" - WORKING_DIRECTORY "${output_dir}" - RESULT_VARIABLE _scan_result) - -if(_scan_result EQUAL 0) - message(STATUS "Scan succeeded.") -else(_scan_result EQUAL 0) - message(SEND_ERROR "Scan failed.") -endif(_scan_result EQUAL 0) - -endif(NOT APPLE) - -# vim:sw=4:ts=4:et:autoindent diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/cmake/UseGtkDoc.cmake new/libinstpatch-1.1.6/cmake/UseGtkDoc.cmake --- old/libinstpatch-1.1.5/cmake/UseGtkDoc.cmake 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/cmake/UseGtkDoc.cmake 1970-01-01 01:00:00.000000000 +0100 @@ -1,236 +0,0 @@ -# CMake macros to use the GtkDoc documentation system - -find_package(GtkDoc) - -# gtk_doc_add_module(doc_prefix sourcedir -# [XML xmlfile] -# [FIXXREFOPTS fixxrefoption1...] -# [IGNOREHEADERS header1...] -# [DEPENDS depend1...] ) -# -# sourcedir must be the *full* path to the source directory. -# -# If omitted, sgmlfile defaults to the auto generated ${doc_prefix}/${doc_prefix}-docs.xml. -function(gtk_doc_add_module _doc_prefix _doc_sourcedir) - set (_multi_value DEPENDS XML FIXXREFOPTS IGNOREHEADERS CFLAGS LDFLAGS LDPATH SUFFIXES TYPEINITFUNC EXTRAHEADERS) - cmake_parse_arguments (ARG "" "" "${_multi_value}" ${ARGN}) - - list(LENGTH ARG_XML _xml_file_length) - - if(ARG_SUFFIXES) - set(_doc_source_suffixes "") - foreach(_suffix ${ARG_SUFFIXES}) - if(_doc_source_suffixes) - set(_doc_source_suffixes "${_doc_source_suffixes},${_suffix}") - else(_doc_source_suffixes) - set(_doc_source_suffixes "${_suffix}") - endif(_doc_source_suffixes) - endforeach(_suffix) - else(ARG_SUFFIXES) - set(_doc_source_suffixes "h") - endif(ARG_SUFFIXES) - - set(_do_all ALL) - - set(_opts_valid 1) - if(NOT _xml_file_length LESS 2) - message(SEND_ERROR "Must have at most one sgml file specified.") - set(_opts_valid 0) - endif(NOT _xml_file_length LESS 2) - - if(_opts_valid) - # a directory to store output. - set(_output_dir "${CMAKE_CURRENT_BINARY_DIR}/${_doc_prefix}") - set(_output_dir_stamp "${_output_dir}/dir.stamp") - - # set default sgml file if not specified - set(_default_xml_file "${_output_dir}/${_doc_prefix}-docs.xml") - get_filename_component(_default_xml_file ${_default_xml_file} ABSOLUTE) - - # a directory to store html output. - set(_output_html_dir "${_output_dir}/html") - set(_output_html_dir_stamp "${_output_dir}/html_dir.stamp") - - # The output files - set(_output_decl_list "${_output_dir}/${_doc_prefix}-decl-list.txt") - set(_output_decl "${_output_dir}/${_doc_prefix}-decl.txt") - set(_output_overrides "${_output_dir}/${_doc_prefix}-overrides.txt") - set(_output_sections "${_output_dir}/${_doc_prefix}-sections.txt") - set(_output_types "${_output_dir}/${_doc_prefix}.types") - - set(_output_signals "${_output_dir}/${_doc_prefix}.signals") - - set(_output_unused "${_output_dir}/${_doc_prefix}-unused.txt") - set(_output_undeclared "${_output_dir}/${_doc_prefix}-undeclared.txt") - set(_output_undocumented "${_output_dir}/${_doc_prefix}-undocumented.txt") - set(_output_tmpl_dir "${_output_dir}/tmpl") - set(_output_tmpl_stamp "${_output_dir}/tmpl.stamp") - - set(_output_xml_dir "${_output_dir}/xml") - set(_output_sgml_stamp "${_output_dir}/sgml.stamp") - - set(_output_html_stamp "${_output_dir}/html.stamp") - - # add a command to create output directory - add_custom_command( - OUTPUT "${_output_dir_stamp}" "${_output_dir}" - COMMAND ${CMAKE_COMMAND} -E make_directory "${_output_dir}" - COMMAND ${CMAKE_COMMAND} -E touch ${_output_dir_stamp} - VERBATIM) - - set(_ignore_headers_opt "") - if(ARG_IGNOREHEADERS) - set(_ignore_headers_opt "--ignore-headers=") - foreach(_header ${ARG_IGNOREHEADERS}) - set(_ignore_headers_opt "${_ignore_headers_opt}${_header} ") - endforeach(_header ${ARG_IGNOREHEADERS}) - endif(ARG_IGNOREHEADERS) - - # add a command to scan the input - add_custom_command( - OUTPUT - "${_output_decl_list}" - "${_output_decl}" - "${_output_decl}.bak" - "${_output_overrides}" - "${_output_sections}" - "${_output_types}" - "${_output_types}.bak" - DEPENDS - "${_output_dir}" - ${ARG_DEPENDS} - COMMAND ${GTKDOC_SCAN_EXE} - "--module=${_doc_prefix}" - "${_ignore_headers_opt}" - "--rebuild-sections" - "--rebuild-types" - "--source-dir=${_doc_sourcedir}" - ${ARG_EXTRAHEADERS} - WORKING_DIRECTORY "${_output_dir}" - VERBATIM) - - # add a command to scan the input via gtkdoc-scangobj - # This is such a disgusting hack! - add_custom_command( - OUTPUT - "${_output_signals}" - DEPENDS - "${_output_types}" - "${ARG_DEPENDS}" - COMMAND ${CMAKE_COMMAND} - -D "GTKDOC_SCANGOBJ_EXE:STRING=${GTKDOC_SCANGOBJ_EXE}" - -D "doc_prefix:STRING=${_doc_prefix}" - -D "output_types:STRING=${_output_types}" - -D "output_dir:STRING=${_output_dir}" - -D "type_init_func:STRING=${ARG_TYPEINITFUNC}" - -D "EXTRA_CFLAGS:STRING=${ARG_CFLAGS}" - -D "EXTRA_LDFLAGS:STRING=${ARG_LDFLAGS}" - -D "EXTRA_LDPATH:STRING=${ARG_LDPATH}" - -P ${GTKDOC_SCANGOBJ_WRAPPER} - WORKING_DIRECTORY "${_output_dir}" - VERBATIM) - - # add a command to make the templates - add_custom_command( - OUTPUT - "${_output_unused}" - "${_output_undeclared}" - "${_output_undocumented}" - "${_output_tmpl_dir}" - "${_output_tmpl_stamp}" - DEPENDS - "${_output_types}" - "${_output_signals}" - "${_output_sections}" - "${_output_overrides}" - ${ARG_DEPENDS} - COMMAND ${CMAKE_COMMAND} -E remove_directory ${_output_tmpl_dir} - COMMAND ${GTKDOC_MKTMPL_EXE} - "--module=${_doc_prefix}" - WORKING_DIRECTORY "${_output_dir}" - VERBATIM) - - set(_copy_xml_if_needed "") - if(ARG_XML) - get_filename_component(ARG_XML ${ARG_XML} ABSOLUTE) - set(_copy_xml_if_needed - COMMAND ${CMAKE_COMMAND} -E copy "${ARG_XML}" "${_default_xml_file}") - endif(ARG_XML) - - set(_remove_xml_if_needed "") - if(ARG_XML) - set(_remove_xml_if_needed - COMMAND ${CMAKE_COMMAND} -E remove ${_default_xml_file}) - endif(ARG_XML) - - # add a command to make the database - add_custom_command( - OUTPUT - "${_output_sgml_stamp}" - "${_default_xml_file}" - DEPENDS - "${_output_tmpl_stamp}" - "${_output_unused}" - "${_output_undeclared}" - "${_output_undocumented}" - ${ARG_DEPENDS} - ${_remove_xml_if_needed} - COMMAND ${CMAKE_COMMAND} -E remove_directory ${_output_xml_dir} - COMMAND ${GTKDOC_MKDB_EXE} - "--module=${_doc_prefix}" - "--source-dir=${_doc_sourcedir}" - "--source-suffixes=${_doc_source_suffixes}" - "--output-format=xml" - "--main-sgml-file=${_default_xml_file}" - ${_copy_xml_if_needed} - WORKING_DIRECTORY "${_output_dir}" - VERBATIM) - - # add a command to create html directory - add_custom_command( - OUTPUT "${_output_html_dir_stamp}" "${_output_html_dir}" - COMMAND ${CMAKE_COMMAND} -E make_directory ${_output_html_dir} - COMMAND ${CMAKE_COMMAND} -E touch ${_output_html_dir_stamp} - VERBATIM) - - # add a command to output HTML - add_custom_command( - OUTPUT - "${_output_html_stamp}" - DEPENDS - "${_output_html_dir_stamp}" - "${_output_sgml_stamp}" - "${_output_tmpl_stamp}" - "${ARG_XML}" - ${ARG_DEPENDS} - ${_copy_xml_if_needed} - COMMAND ${GTKDOC_MKHTML_EXE} - "${_doc_prefix}" - "${_default_xml_file}" - WORKING_DIRECTORY "${_output_html_dir}" - VERBATIM) - - # fix output refs - add_custom_target("${_doc_prefix}-gtxdoc-fixxref" - DEPENDS - "${_output_html_stamp}" - ${ARG_DEPENDS} - COMMAND ${GTKDOC_FIXXREF_EXE} - "--module=${_doc_prefix}" - "--module-dir=." - ${ARG_FIXXREFOPTS} - #${_remove_xml_if_needed} - WORKING_DIRECTORY "${_output_dir}" - VERBATIM) - - add_custom_target(doc-${_doc_prefix} ${_do_all} - DEPENDS - "${_doc_prefix}-gtxdoc-fixxref" - ${ARG_DEPENDS}) - - add_test(doc-${_doc_prefix}-check ${GTKDOC_CHECK_EXE}) - set_tests_properties(doc-${_doc_prefix}-check PROPERTIES - ENVIRONMENT "DOC_MODULE=${_doc_prefix};DOC_MAIN_SGML_FILE=${_doc_prefix}-docs.xml;SRCDIR=${_doc_sourcedir};BUILDDIR=${_output_dir}" - ) - endif(_opts_valid) -endfunction(gtk_doc_add_module) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/docs/reference/CMakeLists.txt new/libinstpatch-1.1.6/docs/reference/CMakeLists.txt --- old/libinstpatch-1.1.5/docs/reference/CMakeLists.txt 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/docs/reference/CMakeLists.txt 2021-01-22 21:50:51.000000000 +0100 @@ -29,18 +29,19 @@ ) if (GTKDOC_FOUND) - include (UseGtkDoc) - - gtk_doc_add_module (libinstpatch ${CMAKE_SOURCE_DIR}/libinstpatch + gtk_doc_add_module (libinstpatch + SOURCE ${CMAKE_SOURCE_DIR}/libinstpatch XML libinstpatch-docs.xml SUFFIXES c h IGNOREHEADERS ${ignore_headers} - EXTRAHEADERS ${CMAKE_CURRENT_BINARY_DIR}/../../libinstpatch/version.h - TYPEINITFUNC ipatch_init\(\) + SCANOPTS ${CMAKE_CURRENT_BINARY_DIR}/../../libinstpatch/version.h + SCANOBJOPTS --type-init-func=ipatch_init\(\) CFLAGS -I${CMAKE_SOURCE_DIR} LDFLAGS -L${CMAKE_CURRENT_BINARY_DIR}/../../libinstpatch -linstpatch-1.0 LDPATH ${CMAKE_CURRENT_BINARY_DIR}/../../libinstpatch DEPENDS instpatch-1.0 ) + + add_custom_target(documentation ALL DEPENDS doc-libinstpatch) endif () diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/gtk-doc.make new/libinstpatch-1.1.6/gtk-doc.make --- old/libinstpatch-1.1.5/gtk-doc.make 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/gtk-doc.make 1970-01-01 01:00:00.000000000 +0100 @@ -1,177 +0,0 @@ -# -*- mode: makefile -*- - -#################################### -# Everything below here is generic # -#################################### - -if GTK_DOC_USE_LIBTOOL -GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -GTKDOC_RUN = $(LIBTOOL) --mode=execute -else -GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -GTKDOC_RUN = sh -c -endif - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) - -TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) - -EXTRA_DIST = \ - $(content_files) \ - $(HTML_IMAGES) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_MODULE)-sections.txt \ - $(DOC_MODULE)-overrides.txt - -DOC_STAMPS=scan-build.stamp sgml-build.stamp html-build.stamp \ - $(srcdir)/sgml.stamp $(srcdir)/html.stamp - -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - $(DOC_MODULE).signals - -REPORT_FILES = \ - $(DOC_MODULE)-undocumented.txt \ - $(DOC_MODULE)-undeclared.txt \ - $(DOC_MODULE)-unused.txt - -CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) - -if ENABLE_GTK_DOC -all-local: html-build.stamp -else -all-local: -endif - -docs: html-build.stamp - -$(REPORT_FILES): sgml-build.stamp - -#### scan #### - -scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) - @echo 'gtk-doc: Scanning header files' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && \ - gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) - if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ - else \ - cd $(srcdir) ; \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ - fi - touch scan-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp - @true - -#### xml #### - -sgml-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) - @echo 'gtk-doc: Building XML' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && \ - gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS) - touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -#### html #### - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo 'gtk-doc: Building HTML' - @-chmod -R u+w $(srcdir) - rm -rf $(srcdir)/html - mkdir $(srcdir)/html - mkhtml_options=""; \ - gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ - if test "$(?)" = "0"; then \ - mkhtml_options=--path="$(srcdir)"; \ - fi - cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) - @echo 'gtk-doc: Fixing cross-references' - cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - touch html-build.stamp - -############## - -clean-local: - rm -f *~ *.bak - rm -rf .libs - -distclean-local: - cd $(srcdir) && \ - rm -rf xml $(REPORT_FILES) \ - $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt - -maintainer-clean-local: clean - cd $(srcdir) && rm -rf html - -install-data-local: - installfiles=`echo $(srcdir)/html/*`; \ - if test "$$installfiles" = '$(srcdir)/html/*'; \ - then echo '-- Nothing to install' ; \ - else \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - $(mkinstalldirs) $${installdir} ; \ - for i in $$installfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $${installdir}; \ - done; \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ - $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ - mv -f $${installdir}/$(DOC_MODULE).devhelp \ - $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \ - fi; \ - ! which gtkdoc-rebase >/dev/null 2>&1 || \ - gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \ - fi - -uninstall-local: - if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - rm -rf $${installdir} - -# -# Require gtk-doc when making dist -# -if ENABLE_GTK_DOC -dist-check-gtkdoc: -else -dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" - @false -endif - -dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/html - cp $(srcdir)/html/* $(distdir)/html - -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ - -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ - cd $(distdir) && rm -f $(DISTCLEANFILES) - ! which gtkdoc-rebase >/dev/null 2>&1 || \ - gtkdoc-rebase --online --relative --html-dir=$(distdir)/html - -.PHONY : dist-hook-local docs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/CMakeLists.txt new/libinstpatch-1.1.6/libinstpatch/CMakeLists.txt --- old/libinstpatch-1.1.5/libinstpatch/CMakeLists.txt 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/CMakeLists.txt 2021-01-22 21:50:51.000000000 +0100 @@ -372,6 +372,10 @@ BUNDLE DESTINATION ${BUNDLE_INSTALL_DIR} ) +if ( MSVC ) + install(FILES $<TARGET_PDB_FILE:libinstpatch> DESTINATION ${BIN_INSTALL_DIR} OPTIONAL) +endif ( MSVC ) + macro(_list_prefix _outvar _listvar _prefix) set(${_outvar}) foreach(_item IN LISTS ${_listvar}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchBase.c new/libinstpatch-1.1.6/libinstpatch/IpatchBase.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchBase.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchBase.c 2021-01-22 21:50:51.000000000 +0100 @@ -68,7 +68,7 @@ static GParamSpec *file_pspec; static GParamSpec *file_name_pspec; -G_DEFINE_ABSTRACT_TYPE(IpatchBase, ipatch_base, IPATCH_TYPE_CONTAINER); +G_DEFINE_ABSTRACT_TYPE(IpatchBase, ipatch_base, IPATCH_TYPE_CONTAINER) /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchConvert_DLS2.c new/libinstpatch-1.1.6/libinstpatch/IpatchConvert_DLS2.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchConvert_DLS2.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchConvert_DLS2.c 2021-01-22 21:50:51.000000000 +0100 @@ -292,9 +292,9 @@ } } -CONVERTER_CLASS_INIT(file_to_dls2); -CONVERTER_CLASS_INIT(file_to_dls2_sample); +CONVERTER_CLASS_INIT(file_to_dls2) +CONVERTER_CLASS_INIT(file_to_dls2_sample) -CONVERTER_GET_TYPE(dls2_to_file, DLS2ToFile); -CONVERTER_GET_TYPE(file_to_dls2, FileToDLS2); -CONVERTER_GET_TYPE(file_to_dls2_sample, FileToDLS2Sample); +CONVERTER_GET_TYPE(dls2_to_file, DLS2ToFile) +CONVERTER_GET_TYPE(file_to_dls2, FileToDLS2) +CONVERTER_GET_TYPE(file_to_dls2_sample, FileToDLS2Sample) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchConvert_Gig.c new/libinstpatch-1.1.6/libinstpatch/IpatchConvert_Gig.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchConvert_Gig.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchConvert_Gig.c 2021-01-22 21:50:51.000000000 +0100 @@ -146,11 +146,11 @@ #define _file_to_gig_sample_convert _file_to_dls2_sample_convert; -CONVERTER_CLASS_INIT(gig_to_file); -CONVERTER_GET_TYPE(gig_to_file, GigToFile); +CONVERTER_CLASS_INIT(gig_to_file) +CONVERTER_GET_TYPE(gig_to_file, GigToFile) CONVERTER_CLASS_INIT(file_to_gig); -CONVERTER_GET_TYPE(file_to_gig, FileToGig); +CONVERTER_GET_TYPE(file_to_gig, FileToGig) -CONVERTER_CLASS_INIT(file_to_gig_sample); -CONVERTER_GET_TYPE(file_to_gig_sample, FileToGigSample); +CONVERTER_CLASS_INIT(file_to_gig_sample) +CONVERTER_GET_TYPE(file_to_gig_sample, FileToGigSample) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c new/libinstpatch-1.1.6/libinstpatch/IpatchConvert_SF2.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchConvert_SF2.c 2021-01-22 21:50:51.000000000 +0100 @@ -422,10 +422,10 @@ } } -CONVERTER_CLASS_INIT(file_to_sf2); -CONVERTER_CLASS_INIT(file_to_sf2_sample); +CONVERTER_CLASS_INIT(file_to_sf2) +CONVERTER_CLASS_INIT(file_to_sf2_sample) -CONVERTER_GET_TYPE(sf2_to_file, SF2ToFile); -CONVERTER_GET_TYPE(file_to_sf2, FileToSF2); -CONVERTER_GET_TYPE(file_to_sf2_sample, FileToSF2Sample); +CONVERTER_GET_TYPE(sf2_to_file, SF2ToFile) +CONVERTER_GET_TYPE(file_to_sf2, FileToSF2) +CONVERTER_GET_TYPE(file_to_sf2_sample, FileToSF2Sample) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SLI.c new/libinstpatch-1.1.6/libinstpatch/IpatchConvert_SLI.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SLI.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchConvert_SLI.c 2021-01-22 21:50:51.000000000 +0100 @@ -304,10 +304,10 @@ } } -CONVERTER_CLASS_INIT(file_to_sli); -CONVERTER_CLASS_INIT(file_to_sli_sample); +CONVERTER_CLASS_INIT(file_to_sli) +CONVERTER_CLASS_INIT(file_to_sli_sample) -CONVERTER_GET_TYPE(sli_to_file, SLIToFile); -CONVERTER_GET_TYPE(file_to_sli, FileToSLI); -CONVERTER_GET_TYPE(file_to_sli_sample, FileToSLISample); +CONVERTER_GET_TYPE(sli_to_file, SLIToFile) +CONVERTER_GET_TYPE(file_to_sli, FileToSLI) +CONVERTER_GET_TYPE(file_to_sli_sample, FileToSLISample) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Info.c new/libinstpatch-1.1.6/libinstpatch/IpatchDLS2Info.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Info.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchDLS2Info.c 2021-01-22 21:50:51.000000000 +0100 @@ -238,7 +238,7 @@ newbag = ipatch_dls2_info_bag_new(); newbag->fourcc = bag->fourcc; newbag->value = g_strdup(bag->value); - newinfo = g_slist_prepend(newinfo, bag); + newinfo = g_slist_prepend(newinfo, newbag); p = g_slist_next(p); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Region.c new/libinstpatch-1.1.6/libinstpatch/IpatchDLS2Region.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Region.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchDLS2Region.c 2021-01-22 21:50:51.000000000 +0100 @@ -775,7 +775,7 @@ /** * ipatch_dls2_region_set_sample: * @region: Region to set sample of - * @sample: Sample to set region to + * @sample: Sample to set region to. Should be NULL or a IpatchDLS2Sample object * * Sets the referenced sample of a region. */ @@ -784,7 +784,10 @@ IpatchDLS2Sample *sample) { g_return_if_fail(IPATCH_IS_DLS2_REGION(region)); - g_return_if_fail(IPATCH_IS_DLS2_SAMPLE(sample)); + if(sample != NULL) + { + g_return_if_fail (IPATCH_IS_DLS2_SAMPLE (sample)); + } ipatch_dls2_region_real_set_sample(region, sample, TRUE); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Sample.c new/libinstpatch-1.1.6/libinstpatch/IpatchDLS2Sample.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Sample.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchDLS2Sample.c 2021-01-22 21:50:51.000000000 +0100 @@ -325,16 +325,17 @@ { IpatchList *list; IpatchIter iter; + IpatchItem *region; /* ++ ref new list */ list = ipatch_dls2_get_region_references(IPATCH_DLS2_SAMPLE(item)); ipatch_list_init_iter(list, &iter); - item = ipatch_item_first(&iter); + region = ipatch_item_first(&iter); - while(item) + while(region) { - ipatch_item_remove(item); + ipatch_item_remove(region); item = ipatch_item_next(&iter); } @@ -423,7 +424,7 @@ /** * ipatch_dls2_sample_set_data: * @sample: Sample to set sample data of - * @sampledata: Sample data to set sample to + * @sampledata: Sample data to set sample to. Should be NULL or a IpatchSampleData object * * Set a sample's sample data object. */ @@ -444,10 +445,12 @@ IpatchSampleData *old_sampledata; g_return_val_if_fail(IPATCH_IS_DLS2_SAMPLE(sample), FALSE); - g_return_val_if_fail(IPATCH_IS_SAMPLE_DATA(sampledata), FALSE); - - g_object_ref(sampledata); /* ++ ref for sample */ - ipatch_sample_data_used(sampledata); /* ++ inc use count */ + if(sampledata != NULL) + { + g_return_val_if_fail (IPATCH_IS_SAMPLE_DATA (sampledata), FALSE); + g_object_ref (sampledata); /* ++ ref for sample */ + ipatch_sample_data_used (sampledata); /* ++ inc use count */ + } IPATCH_ITEM_WLOCK(sample); old_sampledata = sample->sample_data; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchDLSFile.c new/libinstpatch-1.1.6/libinstpatch/IpatchDLSFile.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchDLSFile.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchDLSFile.c 2021-01-22 21:50:51.000000000 +0100 @@ -40,7 +40,7 @@ static gboolean ipatch_dls_file_identify(IpatchFile *file, IpatchFileHandle *handle, GError **err); -G_DEFINE_TYPE(IpatchDLSFile, ipatch_dls_file, IPATCH_TYPE_FILE); +G_DEFINE_TYPE(IpatchDLSFile, ipatch_dls_file, IPATCH_TYPE_FILE) static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchDLSReader.c new/libinstpatch-1.1.6/libinstpatch/IpatchDLSReader.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchDLSReader.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchDLSReader.c 2021-01-22 21:50:51.000000000 +0100 @@ -530,6 +530,9 @@ g_hash_table_destroy(fixup_hash); /* destroy fixup hash */ reader->needs_fixup = FALSE; + /* reset changed state (set by ipatch_dls_reader_fixup()*/ + g_object_set (IPATCH_BASE(reader->dls), "changed", FALSE, NULL); + return (TRUE); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c new/libinstpatch-1.1.6/libinstpatch/IpatchDLSWriter.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchDLSWriter.c 2021-01-22 21:50:51.000000000 +0100 @@ -106,7 +106,7 @@ static gboolean gig_write_group_names(IpatchDLSWriter *writer, GError **err); -G_DEFINE_TYPE(IpatchDLSWriter, ipatch_dls_writer, IPATCH_TYPE_RIFF); +G_DEFINE_TYPE(IpatchDLSWriter, ipatch_dls_writer, IPATCH_TYPE_RIFF) static void @@ -286,6 +286,11 @@ goto err; } + /* reset flag "changed" to false. set flag "saved" to true */ + g_object_set (writer->orig_dls, + "changed", FALSE, /* file and object are in sync */ + "saved", TRUE, /* has now been saved */ + NULL); /* </DLS > */ return (TRUE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchFile.c new/libinstpatch-1.1.6/libinstpatch/IpatchFile.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchFile.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchFile.c 2021-01-22 21:50:51.000000000 +0100 @@ -105,7 +105,7 @@ NULL /* get_size method */ }; -G_DEFINE_TYPE(IpatchFile, ipatch_file, IPATCH_TYPE_ITEM); +G_DEFINE_TYPE(IpatchFile, ipatch_file, IPATCH_TYPE_ITEM) /* Lock and hash for file pool */ G_LOCK_DEFINE_STATIC(ipatch_file_pool); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchGigFile.c new/libinstpatch-1.1.6/libinstpatch/IpatchGigFile.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchGigFile.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchGigFile.c 2021-01-22 21:50:51.000000000 +0100 @@ -39,7 +39,7 @@ static gboolean ipatch_gig_file_identify_method(IpatchFile *file, IpatchFileHandle *handle, GError **err); -G_DEFINE_TYPE(IpatchGigFile, ipatch_gig_file, IPATCH_TYPE_DLS_FILE); +G_DEFINE_TYPE(IpatchGigFile, ipatch_gig_file, IPATCH_TYPE_DLS_FILE) /* GigaSampler file class init function */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchItem.c new/libinstpatch-1.1.6/libinstpatch/IpatchItem.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchItem.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchItem.c 2021-01-22 21:50:51.000000000 +0100 @@ -1715,7 +1715,7 @@ } else { - unique = unique = NULL; /* indicate no unique properties */ + unique = NULL; /* indicate no unique properties */ } g_hash_table_insert(unique_prop_cache, GUINT_TO_POINTER(type), unique); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchRiff.c new/libinstpatch-1.1.6/libinstpatch/IpatchRiff.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchRiff.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchRiff.c 2021-01-22 21:50:51.000000000 +0100 @@ -38,7 +38,7 @@ static gboolean verify_chunk_idstr(char idstr[4]); -G_DEFINE_TYPE(IpatchRiff, ipatch_riff, G_TYPE_OBJECT); +G_DEFINE_TYPE(IpatchRiff, ipatch_riff, G_TYPE_OBJECT) static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSF2File.c new/libinstpatch-1.1.6/libinstpatch/IpatchSF2File.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSF2File.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSF2File.c 2021-01-22 21:50:51.000000000 +0100 @@ -55,7 +55,7 @@ static gboolean ipatch_sf2_file_real_set_sample24_pos(IpatchSF2File *file, guint sample24_pos); -G_DEFINE_TYPE(IpatchSF2File, ipatch_sf2_file, IPATCH_TYPE_FILE); +G_DEFINE_TYPE(IpatchSF2File, ipatch_sf2_file, IPATCH_TYPE_FILE) /* SoundFont file class init function */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_DLS.c new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_DLS.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_DLS.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_DLS.c 2021-01-22 21:50:51.000000000 +0100 @@ -246,10 +246,10 @@ return (TRUE); } -CONVERTER_CLASS_INIT(dls2_inst_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(dls2_region_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(dls2_sample_to_sf2_voice_cache); +CONVERTER_CLASS_INIT(dls2_inst_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(dls2_region_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(dls2_sample_to_sf2_voice_cache) -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(dls2_inst_to_sf2_voice_cache, DLS2InstToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(dls2_region_to_sf2_voice_cache, DLS2RegionToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(dls2_sample_to_sf2_voice_cache, DLS2SampleToSF2VoiceCache); +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(dls2_inst_to_sf2_voice_cache, DLS2InstToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(dls2_region_to_sf2_voice_cache, DLS2RegionToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(dls2_sample_to_sf2_voice_cache, DLS2SampleToSF2VoiceCache) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_Gig.c new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_Gig.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_Gig.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_Gig.c 2021-01-22 21:50:51.000000000 +0100 @@ -301,8 +301,8 @@ #define _gig_sample_to_sf2_voice_cache_convert \ _dls2_sample_to_sf2_voice_cache_convert -CONVERTER_CLASS_INIT(gig_inst_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(gig_sample_to_sf2_voice_cache); +CONVERTER_CLASS_INIT(gig_inst_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(gig_sample_to_sf2_voice_cache) -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(gig_inst_to_sf2_voice_cache, GigInstToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(gig_sample_to_sf2_voice_cache, GigSampleToSF2VoiceCache); +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(gig_inst_to_sf2_voice_cache, GigInstToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(gig_sample_to_sf2_voice_cache, GigSampleToSF2VoiceCache) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SF2.c new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_SF2.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SF2.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_SF2.c 2021-01-22 21:50:51.000000000 +0100 @@ -455,14 +455,14 @@ return (TRUE); } -CONVERTER_CLASS_INIT(sf2_preset_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(sf2_pzone_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(sf2_inst_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(sf2_izone_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(sf2_sample_to_sf2_voice_cache); +CONVERTER_CLASS_INIT(sf2_preset_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(sf2_pzone_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(sf2_inst_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(sf2_izone_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(sf2_sample_to_sf2_voice_cache) -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_preset_to_sf2_voice_cache, SF2PresetToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_pzone_to_sf2_voice_cache, SF2PZoneToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_inst_to_sf2_voice_cache, SF2InstToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_izone_to_sf2_voice_cache, SF2IZoneToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_sample_to_sf2_voice_cache, SF2SampleToSF2VoiceCache); +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_preset_to_sf2_voice_cache, SF2PresetToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_pzone_to_sf2_voice_cache, SF2PZoneToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_inst_to_sf2_voice_cache, SF2InstToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_izone_to_sf2_voice_cache, SF2IZoneToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sf2_sample_to_sf2_voice_cache, SF2SampleToSF2VoiceCache) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SLI.c new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_SLI.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SLI.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_SLI.c 2021-01-22 21:50:51.000000000 +0100 @@ -192,10 +192,10 @@ return (TRUE); } -CONVERTER_CLASS_INIT(sli_inst_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(sli_zone_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(sli_sample_to_sf2_voice_cache); +CONVERTER_CLASS_INIT(sli_inst_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(sli_zone_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(sli_sample_to_sf2_voice_cache) -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sli_inst_to_sf2_voice_cache, SLIInstToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sli_zone_to_sf2_voice_cache, SLIZoneToSF2VoiceCache); -CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sli_sample_to_sf2_voice_cache, SLISampleToSF2VoiceCache); +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sli_inst_to_sf2_voice_cache, SLIInstToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sli_zone_to_sf2_voice_cache, SLIZoneToSF2VoiceCache) +CONVERTER_SF2_VOICE_CACHE_GET_TYPE(sli_sample_to_sf2_voice_cache, SLISampleToSF2VoiceCache) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_VBank.c new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_VBank.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_VBank.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSF2VoiceCache_VBank.c 2021-01-22 21:50:51.000000000 +0100 @@ -236,8 +236,8 @@ _vbank_inst_to_sf2_voice_cache_convert -CONVERTER_CLASS_INIT(vbank_inst_to_sf2_voice_cache); -CONVERTER_CLASS_INIT(vbank_region_to_sf2_voice_cache); +CONVERTER_CLASS_INIT(vbank_inst_to_sf2_voice_cache) +CONVERTER_CLASS_INIT(vbank_region_to_sf2_voice_cache) -CONVERTER_GET_TYPE(vbank_inst_to_sf2_voice_cache, VBankInstToSF2VoiceCache); -CONVERTER_GET_TYPE(vbank_region_to_sf2_voice_cache, VBankRegionToSF2VoiceCache); +CONVERTER_GET_TYPE(vbank_inst_to_sf2_voice_cache, VBankInstToSF2VoiceCache) +CONVERTER_GET_TYPE(vbank_region_to_sf2_voice_cache, VBankRegionToSF2VoiceCache) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSLIFile.c new/libinstpatch-1.1.6/libinstpatch/IpatchSLIFile.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSLIFile.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSLIFile.c 2021-01-22 21:50:51.000000000 +0100 @@ -37,7 +37,7 @@ static gboolean ipatch_sli_file_identify(IpatchFile *file, IpatchFileHandle *handle, GError **err); -G_DEFINE_TYPE(IpatchSLIFile, ipatch_sli_file, IPATCH_TYPE_FILE); +G_DEFINE_TYPE(IpatchSLIFile, ipatch_sli_file, IPATCH_TYPE_FILE) /* Spectralis file class init function */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSLIInst.h new/libinstpatch-1.1.6/libinstpatch/IpatchSLIInst.h --- old/libinstpatch-1.1.5/libinstpatch/IpatchSLIInst.h 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSLIInst.h 2021-01-22 21:50:51.000000000 +0100 @@ -136,7 +136,11 @@ /* Defined in IpatchSLIInst_CatMaps.c */ extern const char *ipatch_sli_inst_cat_strings[]; +/* getter fonction that returns pointer on ipatch_sli_inst_cat_strings table */ +extern const gchar **ipatch_sli_inst_get_cat_strings(void); extern const IpatchSLIInstCatMapEntry ipatch_sli_inst_cat_map[]; +/* getter fonction that returns pointer on ipatch_sli_inst_cat_map table */ +extern const IpatchSLIInstCatMapEntry * ipatch_sli_inst_get_cat_map(void); /* SoundFont instrument item */ struct _IpatchSLIInst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSLIInst_CatMaps.c new/libinstpatch-1.1.6/libinstpatch/IpatchSLIInst_CatMaps.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSLIInst_CatMaps.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSLIInst_CatMaps.c 2021-01-22 21:50:51.000000000 +0100 @@ -160,3 +160,21 @@ { 'D', IPATCH_SLI_INST_CAT_D_SYNTH, ipatch_sli_inst_subcat_map_dsynth }, { '@', IPATCH_SLI_INST_CAT_OTHER, NULL } }; + +/** + * Getter fonction to access ipatch_sli_inst_cat_map[] table + * @return pointer on ipatch_sli_inst_cat_map[] table + */ +const IpatchSLIInstCatMapEntry * ipatch_sli_inst_get_cat_map(void) +{ + return ipatch_sli_inst_cat_map; +} + +/** + * Getter fonction to access ipatch_sli_inst_cat_map[] table + * @return pointer on ipatch_sli_inst_cat_strings[] table + */ +const char **ipatch_sli_inst_get_cat_strings(void) +{ + return ipatch_sli_inst_cat_strings; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSLIWriter.c new/libinstpatch-1.1.6/libinstpatch/IpatchSLIWriter.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSLIWriter.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSLIWriter.c 2021-01-22 21:50:51.000000000 +0100 @@ -87,7 +87,7 @@ IpatchSLISample *sample, GError **err); -G_DEFINE_TYPE(IpatchSLIWriter, ipatch_sli_writer, G_TYPE_OBJECT); +G_DEFINE_TYPE(IpatchSLIWriter, ipatch_sli_writer, G_TYPE_OBJECT) static void ipatch_sli_writer_class_init(IpatchSLIWriterClass *klass) @@ -509,7 +509,7 @@ IpatchIter iz_iter; IpatchSLIInst *inst; IpatchSLIZone *zone; - IpatchSLISample *sample; + IpatchSLISample *sample = NULL; SampleHashValue *sample_info; GPtrArray *samples; IpatchSLISiIg siig; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSampleData.c new/libinstpatch-1.1.6/libinstpatch/IpatchSampleData.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSampleData.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSampleData.c 2021-01-22 21:50:51.000000000 +0100 @@ -1065,7 +1065,7 @@ GSList *p, *prev = NULL; int src_format; guint32 maskval, src_channel_map; - CachingInfo *cinfo; /* Silence gcc (why?) */ + CachingInfo *cinfo = NULL; /* Silence gcc (why?) */ CachingInfo *new_cinfo = NULL; int rate; int i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSwap.c new/libinstpatch-1.1.6/libinstpatch/IpatchSampleStoreSwap.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSwap.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSampleStoreSwap.c 2021-01-22 21:50:51.000000000 +0100 @@ -359,17 +359,40 @@ } /* Opens swap file (either assigned file name or temporary file) */ +/* + The application could set the swap file name calling following functions: + 1)ipatch_set_sample_store_swap_file_name(swap_filename) + + 2)However, when multiple applications are calling libinstpatch it + is best for each application to call ipatch_set_application_name(). + In this case, if the application do not call ipatch_set_sample_store_swap_file_name(), + a swap file name is build using application name as prefix of swap file name. + For example calling ipatch_set_sample_store_swap_file_name("swami") leads + to a default swap file "swami-swap_XXXXXX" + + 3)If ipatch_set_sample_store_swap_file_name() or ipatch_set_application_name() + are not called, the default file name is "libInstPatch-swap_XXXXXX" + + In case 2 and 3, the swap file directory is the one used for temporary files + returned by g_get_tmp_dir(). +*/ static void ipatch_sample_store_swap_open_file(void) { char *template = NULL, *s; - GError *local_err = NULL; G_LOCK(swap); // ++ lock swap if(swap_file_name) // Use existing name if it was assigned { - swap_fd = g_open(swap_file_name, O_RDWR | O_CREAT, 0600); +#ifdef G_OS_WIN32 + /* On Windows, calling g_open leads to memory violation access on next + call to lseek. + */ + swap_fd = _open(swap_file_name, O_RDWR | O_CREAT, _S_IREAD | _S_IWRITE); +#else + swap_fd = g_open (swap_file_name, O_RDWR | O_CREAT, 0600); +#endif if(swap_fd != -1) { @@ -410,16 +433,39 @@ } } - swap_fd = g_file_open_tmp(template ? template : "libInstPatch-swap_XXXXXX", - &swap_file_name, &local_err); - g_free(template); // -- free template string (if set) + /* Open swap file name in temporary directory */ +#ifdef G_OS_WIN32 - if(swap_fd == -1) + /* On Windows, calling g_open leads to memory violation access on next + call to lseek. + */ + + /* ++ alloc swap_file_name */ + swap_file_name = g_build_filename(g_get_tmp_dir(), + template ? template : "libInstPatch-swap_XXXXXX", + NULL); + swap_fd = _open(swap_file_name, O_RDWR | O_CREAT, _S_IREAD | _S_IWRITE); + g_free (template); // -- free template string (if set) + if (swap_fd == -1) { g_critical(_("Failed to create temp sample store swap file: %s"), - ipatch_gerror_message(local_err)); - g_clear_error(&local_err); + swap_file_name); } +#else + { + GError *local_err = NULL; + swap_fd = g_file_open_tmp(template ? template : "libInstPatch-swap_XXXXXX", + &swap_file_name, &local_err); + g_free(template); // -- free template string (if set) + + if (swap_fd == -1) + { + g_critical(_("Failed to create temp sample store swap file: %s"), + ipatch_gerror_message(local_err)); + g_clear_error (&local_err); + } + } +#endif G_UNLOCK(swap); // -- unlock swap } @@ -706,7 +752,15 @@ // Create new swap file to copy existing disk samples to newname = g_strconcat(swap_file_name, "_new", NULL); // ++ alloc new file name (same as existing one + _new) - newfd = g_open(newname, O_RDWR | O_CREAT, 0600); + +#ifdef G_OS_WIN32 + /* On Windows, calling g_open leads to memory violation access on next + call to lseek. + */ + newfd = _open (newname, O_RDWR | O_CREAT, _S_IREAD | _S_IWRITE); +#else + newfd = g_open (newname, O_RDWR | O_CREAT, 0600); +#endif if(newfd == -1) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchSndFile.c new/libinstpatch-1.1.6/libinstpatch/IpatchSndFile.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchSndFile.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchSndFile.c 2021-01-22 21:50:51.000000000 +0100 @@ -40,7 +40,7 @@ static gboolean ipatch_snd_file_identify(IpatchFile *file, IpatchFileHandle *handle, GError **err); -G_DEFINE_TYPE(IpatchSndFile, ipatch_snd_file, IPATCH_TYPE_FILE); +G_DEFINE_TYPE(IpatchSndFile, ipatch_snd_file, IPATCH_TYPE_FILE) /* Get type of dynamic libsndfile file format enum (register it as needed) */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchVBank.c new/libinstpatch-1.1.6/libinstpatch/IpatchVBank.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchVBank.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchVBank.c 2021-01-22 21:50:51.000000000 +0100 @@ -74,7 +74,7 @@ ipatch_vbank_base_find_item_by_locale(IpatchBase *base, int bank, int program); -G_DEFINE_TYPE(IpatchVBank, ipatch_vbank, IPATCH_TYPE_BASE); +G_DEFINE_TYPE(IpatchVBank, ipatch_vbank, IPATCH_TYPE_BASE) static GType vbank_child_types[2] = { 0 }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchVBankInst.c new/libinstpatch-1.1.6/libinstpatch/IpatchVBankInst.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchVBankInst.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchVBankInst.c 2021-01-22 21:50:51.000000000 +0100 @@ -64,7 +64,7 @@ IpatchIter *iter, GType type); -G_DEFINE_TYPE(IpatchVBankInst, ipatch_vbank_inst, IPATCH_TYPE_CONTAINER); +G_DEFINE_TYPE(IpatchVBankInst, ipatch_vbank_inst, IPATCH_TYPE_CONTAINER) static GType inst_child_types[2] = { 0 }; static GParamSpec *name_pspec, *bank_pspec, *program_pspec; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchVBankRegion.c new/libinstpatch-1.1.6/libinstpatch/IpatchVBankRegion.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchVBankRegion.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchVBankRegion.c 2021-01-22 21:50:51.000000000 +0100 @@ -66,7 +66,7 @@ IpatchItem *item, gboolean sample_notify); -G_DEFINE_TYPE(IpatchVBankRegion, ipatch_vbank_region, IPATCH_TYPE_ITEM); +G_DEFINE_TYPE(IpatchVBankRegion, ipatch_vbank_region, IPATCH_TYPE_ITEM) static GParamSpec *link_item_pspec; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/IpatchVirtualContainer_types.c new/libinstpatch-1.1.6/libinstpatch/IpatchVirtualContainer_types.c --- old/libinstpatch-1.1.5/libinstpatch/IpatchVirtualContainer_types.c 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/IpatchVirtualContainer_types.c 2021-01-22 21:50:51.000000000 +0100 @@ -41,47 +41,56 @@ IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_dls2_melodic, IpatchVirtualDLS2Melodic, _("Melodic Instruments"), _("Non percussion instruments"), - IPATCH_TYPE_DLS2_INST); + IPATCH_TYPE_DLS2_INST) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_dls2_percussion, IpatchVirtualDLS2Percussion, _("Percussion Instruments"), _("Percussion Instruments"), - IPATCH_TYPE_DLS2_INST); + IPATCH_TYPE_DLS2_INST) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_dls2_samples, IpatchVirtualDLS2Samples, _("Samples"), _("Samples"), - IPATCH_TYPE_DLS2_SAMPLE); + IPATCH_TYPE_DLS2_SAMPLE) IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_gig_melodic, IpatchVirtualGigMelodic, _("Melodic Instruments"), _("Non percussion instruments"), - IPATCH_TYPE_GIG_INST); + IPATCH_TYPE_GIG_INST) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_gig_percussion, IpatchVirtualGigPercussion, _("Percussion Instruments"), _("Percussion Instruments"), - IPATCH_TYPE_GIG_INST); + IPATCH_TYPE_GIG_INST) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_gig_samples, IpatchVirtualGigSamples, - _("Samples"), _("Samples"), IPATCH_TYPE_GIG_SAMPLE); + _("Samples"), _("Samples"), IPATCH_TYPE_GIG_SAMPLE) IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_sf2_inst, IpatchVirtualSF2Inst, - _("Instruments"), _("Instruments"), IPATCH_TYPE_SF2_INST); + _("Instruments"), _("Instruments"), IPATCH_TYPE_SF2_INST) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_sf2_melodic, IpatchVirtualSF2Melodic, - _("Melodic Presets"), _("Non percussion presets"), IPATCH_TYPE_SF2_PRESET); + _("Melodic Presets"), _("Non percussion presets"), IPATCH_TYPE_SF2_PRESET) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_sf2_percussion, IpatchVirtualSF2Percussion, - _("Percussion Presets"), _("Percussion Presets"), IPATCH_TYPE_SF2_PRESET); + _("Percussion Presets"), _("Percussion Presets"), IPATCH_TYPE_SF2_PRESET) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_sf2_samples, IpatchVirtualSF2Samples, - _("Samples"), _("Samples"), IPATCH_TYPE_SF2_SAMPLE); + _("Samples"), _("Samples"), IPATCH_TYPE_SF2_SAMPLE) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_sf2_rom, IpatchVirtualSF2Rom, - _("ROM Samples"), _("ROM Samples"), IPATCH_TYPE_SF2_SAMPLE); + _("ROM Samples"), _("ROM Samples"), IPATCH_TYPE_SF2_SAMPLE) IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_sli_inst, IpatchVirtualSLIInst, - _("Instruments"), _("Instruments"), IPATCH_TYPE_SLI_INST); + _("Instruments"), _("Instruments"), IPATCH_TYPE_SLI_INST) + IPATCH_VIRTUAL_CONTAINER_CREATE (ipatch_virtual_sli_samples, IpatchVirtualSLISamples, - _("Samples"), _("Samples"), IPATCH_TYPE_SLI_SAMPLE); + _("Samples"), _("Samples"), IPATCH_TYPE_SLI_SAMPLE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinstpatch-1.1.5/libinstpatch/libinstpatch.def new/libinstpatch-1.1.6/libinstpatch/libinstpatch.def --- old/libinstpatch-1.1.5/libinstpatch/libinstpatch.def 2020-05-26 13:09:21.000000000 +0200 +++ new/libinstpatch-1.1.6/libinstpatch/libinstpatch.def 2021-01-22 21:50:51.000000000 +0100 @@ -1,4 +1,3 @@ -LIBRARY EXPORTS ipatch_close @@ -60,6 +59,7 @@ ipatch_container_count ipatch_container_get_child_types ipatch_container_get_children +ipatch_container_get_children_list ipatch_container_get_type ipatch_container_get_virtual_types ipatch_container_init_iter @@ -365,6 +365,7 @@ ipatch_file_write_u8 ipatch_find_converter ;ipatch_find_paste_handler +ipatch_glist_unref_free ipatch_gerror_message ;ipatch_get_conversion_dest_types ;ipatch_get_conversion_src_types @@ -883,9 +884,13 @@ ipatch_strconcat_num ipatch_sli_get_type -ipatch_sli_inst_cat_strings +;ipatch_sli_inst_cat_strings +;getter fonction that returns pointer on ipatch_sli_inst_cat_strings table +ipatch_sli_inst_get_cat_strings ipatch_sli_sample_get_type -ipatch_sli_inst_cat_map +;ipatch_sli_inst_cat_map +;getter fonction that returns pointer on ipatch_sli_inst_cat_map table +ipatch_sli_inst_get_cat_map ipatch_sli_inst_get_category_as_path ipatch_sli_inst_get_type ipatch_sli_zone_get_type
