Upgrading to GitLab 11.11.0.

Commit 87db2f05 authored by Jaromír Mikeš's avatar Jaromír Mikeš

Imported Upstream version 0.1.87

parent ff917613
......@@ -7,7 +7,7 @@ endif (COMMAND CMAKE_POLICY)
project(Petri-Foo)
set(Petri-Foo_VERSION_MAJOR 1)
set(Petri-Foo_VERSION_MINOR 5)
set(Petri-Foo_VERSION_MINOR 87)
set(BINDIR "bin" CACHE STRING "Where to install binaries")
set(DATADIR "share/petri-foo" CACHE STRING "Where to install data files")
set(APPLICATIONS_DIR "share/applications" CACHE STRING "Where to install desktop files")
......@@ -17,7 +17,14 @@ set(UpdateMime "ON" CACHE BOOL "Update Mime Database")
set(ARCHIVE_NAME petri-foo-0.${Petri-Foo_VERSION_MAJOR}.${Petri-Foo_VERSION_MINOR})
# two #defines to aid stripping path info from debug message output:
# see config.h.in
set(SRC_DIR $PROJECT_SOURCE_DIR)
string( LENGTH "${PROJECT_SOURCE_DIR}" SRC_DIR_STRLEN)
include (CheckCSourceCompiles)
INCLUDE (CheckIncludeFiles)
mark_as_advanced(EXECUTABLE_OUTPUT_PATH)
mark_as_advanced(LIBRARY_OUTPUT_PATH)
......@@ -27,6 +34,11 @@ mark_as_advanced(CMAKE_INSTALL_PREFIX)
option (BuildForDebug "Include gdb debugging support" OFF)
option (GtkDeprecatedChecks "Check against use of API deprecated in GTK3" OFF)
if (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/sandbox )
option (BuildSandbox "Build sandbox test code " OFF)
endif (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/sandbox )
# DEBUG
set (BuildOptionsDebug "-O0 -ggdb" CACHE STRING "Debug build flags")
......@@ -49,16 +61,17 @@ else (BuildForDebug)
endif (BuildForDebug)
if (GtkDeprecatedChecks)
add_definitions(-DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE -DGTK_DISABLE_SINGLE_INCLUDES)
add_definitions(
-DGDK_PIXBUF_DISABLE_DEPRECATED
-DGTK_DISABLE_DEPRECATED
-DGDK_DISABLE_DEPRECATED
-DGSEAL_ENABLE
-DGTK_DISABLE_SINGLE_INCLUDES)
message (STATUS "Building with GTK_DISABLE_DEPRECATED...")
endif (GtkDeprecatedChecks)
# PKG-CONFIG
find_package(PkgConfig REQUIRED)
if(PKG_CONFIG_FOUND)
message(STATUS "Found pkg-config ${PKG_CONFIG_EXECUTABLE}")
else(PKG_CONFIG_FOUND)
message(FATAL_ERROR "pkg-config required but not found")
endif(PKG_CONFIG_FOUND)
include(FindPkgConfig)
# JACK
......@@ -70,13 +83,7 @@ else (JACK_FOUND)
endif (JACK_FOUND)
# ALSA
pkg_check_modules(ALSA REQUIRED alsa>=1.0.17)
if (ALSA_FOUND)
message(STATUS "Found alsa ${ALSA_VERSION}")
else (ALSA_FOUND)
message(FATAL_ERROR "alsa not found.")
endif (ALSA_FOUND)
include (FindALSA)
# SNDFILE
......@@ -106,13 +113,7 @@ else (GLIB2_FOUND)
endif (GLIB2_FOUND)
# GTK2
pkg_check_modules (GTK2 REQUIRED gtk+-2.0)
if(GTK2_FOUND)
message(STATUS "Found gtk2 ${GTK2_VERSION}")
else(GTK2_FOUND)
message(FATAL_ERROR "gtk2 required but not found")
endif(GTK2_FOUND)
include(FindGTK2)
# LIBGNOMECANVAS2
......@@ -124,13 +125,22 @@ else (LIBGNOMECANVAS2_FOUND)
endif (LIBGNOMECANVAS2_FOUND)
# LIBXML2
pkg_check_modules (LIBXML2 REQUIRED libxml-2.0)
if (LIBXML2_FOUND)
message(STATUS "Found libxml2 ${LIBXML2_VERSION}")
else (LIBXML2_FOUND)
message(FATAL_ERROR "libxml2 was not found")
endif (LIBXML2_FOUND)
include(FindLibXml2)
# LIBLO
pkg_check_modules (LIBLO liblo>=0.26)
if (LIBLO_FOUND)
message(STATUS "Found liblo ${LIBLO_VERSION}, support for NSM will be built")
set (HAVE_LIBLO 1)
else (LIBLO_FOUND)
message(STATUS "liblo was not found, support for NSM will not be built")
set (HAVE_LIBLO 0)
endif (LIBLO_FOUND)
include(FindOpenSSL)
# Check for CAIRO_OPERATOR_HSL_LUMINOSITY
check_c_source_compiles (
......@@ -139,20 +149,16 @@ check_c_source_compiles (
{
cairo_operator_t op = CAIRO_OPERATOR_HSL_LUMINOSITY;
return 0;
}" HasCairoOperatorHSL
}" HAVE_CAIRO_OPERATOR_HSL
)
if (HasCairoOperatorHSL)
add_definitions (-DCAIRO_HAS_OPERATOR_HSL)
endif (HasCairoOperatorHSL)
INCLUDE (CheckIncludeFiles)
CHECK_INCLUDE_FILES (malloc.h HAVE_MALLOC_H)
CHECK_INCLUDE_FILES (jack/session.h HAVE_JACK_SESSION_H)
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
${CMAKE_CURRENT_SOURCE_DIR}/config.h )
link_libraries(m)
link_libraries(m ${LIBLO_LIBRARIES})
include_directories ( . )
......@@ -164,12 +170,12 @@ ADD_SUBDIRECTORY( libphin )
ADD_SUBDIRECTORY( gui )
if (BuildForDebug)
if (BuildSandbox)
if (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/sandbox )
message( STATUS "Will build sandbox test target" )
ADD_SUBDIRECTORY( sandbox )
endif (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/sandbox )
endif (BuildForDebug)
endif (BuildSandbox)
#ADD_SUBDIRECTORY( pixmaps )
......
2012-08-06 James Morris <james@jwm-art.net>
* patch_set_and_get.c, lfopar_from_id: found nasty side
effect where an lfo id was calculated from a modulation
source id from within an assert... eeek!
* gui/mod_section.[ch]: remove mod_section_set_list_*
these two functions were unused.
* midi.c: replace some debug with errmsg.
* patch_private/ move initialization of adsr parameters
from within patch_data.c to patch_voice.c
* make building of "sandbox test code" into an option
no longer dependant on debug build.
2012-08-05 James Morris <james@jwm-art.net>
* only get port data when auto-connect, plus
free data obtained.
* don't resample audio files when JACK is not
running (for debug/test).
* remove MODAL property from audio-settings
dialog.
* #define NDEBUG so assert are disabled when
building for release.
2012-08-02 James Morris <james@jwm-art.net>
* dish_file.c: call xmlFreeDoc on sucessful read.
* dish_file.c: free str from xmlGetProp.
* patch_voice.c: free voice data.
* patch_data.c: call lfo_free on glfos.
* patch_data.c: call sample_free.
* patch_get_name return const char*.
2012-08-02 James Morris <james@jwm-art.net>
* Petri-Foo 0.1.86
* Always create session dir for new sessions.
* Right justify help menu.
2012-07-29 James Morris <james@jwm-art.net>
* Petri-Foo 0.1.85
* Again, more information is available by looking at
commit message history than reading this file.
* Non Session Manager support (provided optional
dependency on liblo is met).
* "Full Save" for a more archive friendly save. Saves
the .petri-foo dish file under a folder and creates
symlinks to external samples.
* Cleanup of cmake listfiles (CMakeLists.txt).
* Re-instated gui/log_display.[ch] and made it perhaps
more useful but only just.
2012-07-07 James Morris <james@jwm-art.net>
* dish_file_read no longer destroys existing patches
(it's now a decision for the (G)UI to make).
* usage of patch_set_mark_frame and/or
patch_set_mark_frame_expand by dish_file_read_sample
was broken as these functions sanitize the input
against existing input. the fix is to only sanitize
the values once all are known, sanitize_sample_points
does this. patch_sample_set_points then sets all the
points in one go to avoid the checks (which could
wrongly fail) performed by patch_set_mark_frame*.
* fix minor msg_log problems
* file menu sensitive to session management
* fix update of mark position in sample-point-editor
when switching between patches.
2012-07-06 James Morris <james@jwm-art.net>
***** Non Session Manager preliminary support *****
* shed load of changes look in the diff on github ;-P
* added signal handlers for clean exit
* a mist of tweaks
2012-07-02 James Morris <james@jwm-art.net>
* 0.1.6
* Sync to JACK setting is now persistant, saved
in global settings (~/.config/petri-foo/rc.xml)
* Use jackdriver_set_session_cb rather than declare
a GUI function extern in jackdriver.c
* Fix false debug report of failed left port connect.
* Global LFOs are now synced (when appropriate) rather
than merely having their parameters updated.
2012-06-29 James Morris <james@jwm-art.net>
* Changed alsa midi port name from instance name to
"midi_input".
* Tell jack session when --name command option is
used.
* Change get_instance_name to only return something
when --name command option used.
* fix issue with influence of --name argument over
config directory by hardcoding string literal
"petri-foo" instead of using g_get_prgname().
* fix issue where --name argument prevented loading
of command line specified dish file (due to gtk
modifying argc when it recognizes and processes
an option).
2012-06-29 Kaspa Bumke <kaspar.bumke@gmail.com>
* Documented -U option in --help (for the case of
accidental discovery by user).
* Fixed --unconnected option to not take argument.
2012-06-28 James Morris <james@jwm-art.net>
* Fixed dish-file load of a bank containing a patch
......
......@@ -6,6 +6,17 @@
#define PIXMAPS_DIR "${CMAKE_INSTALL_PREFIX}/${DATADIR}/pixmaps"
#endif
#cmakedefine SRC_DIR "${PROJECT_SOURCE_DIR}"
#cmakedefine SRC_DIR_STRLEN ${SRC_DIR_STRLEN}
#cmakedefine DEBUG 1
#if !DEBUG
#define NDEBUG
#endif
#cmakedefine HAVE_MALLOC_H 1
#cmakedefine HAVE_JACK_SESSION_H 1
#cmakedefine DEBUG 1
#cmakedefine HAVE_CAIRO_OPERATOR_HSL 1
#cmakedefine HAVE_LIBLO 1
......@@ -6,20 +6,11 @@ include_directories (
${Petri-Foo_SOURCE_DIR}/libphin
${GTK2_INCLUDE_DIRS}
${LIBGNOMECANVAS2_INCLUDE_DIRS}
${LIBXML2_INCLUDE_DIRS}
)
link_directories (
${GTK2_LIBRARY_DIRS}
)
add_definitions (
${GTK2_CFLAGS_OTHER}
${LIBXML2_INCLUDE_DIR}
)
add_executable(petri-foo ${PETRI_FOO_SOURCES})
target_link_Libraries(petri-foo petrifoo petrifui pthread phin )
target_link_Libraries(petri-foo petrifoo petrifui pthread phin ${LIBLO_LIBRARIES})
install (TARGETS petri-foo DESTINATION ${BINDIR})
......@@ -21,16 +21,17 @@
This file is a derivative of a Specimen original, modified 2011
*/
#include <gtk/gtk.h>
#include "audio-settings.h"
#include "dish_file.h"
#include "driver.h"
#include "gui.h"
#include "petri-foo.h"
#include "instance.h"
#include "jackdriver.h"
#include "driver.h"
#include "msg_log.h"
#include "petri-foo.h"
#include "sync.h"
#include "dish_file.h"
#include <string.h>
#include <stdlib.h>
......@@ -38,65 +39,21 @@
static GtkWidget* window;
#ifdef HAVE_JACK_SESSION_H
static gboolean gui_session_cb(void *data)
{
size_t len;
const char bank[] = "bank";
char* bankfilename;
char* filename;
char command[256];
jack_session_event_t *ev = (jack_session_event_t *)data;
len = strlen(bank);
len += strlen(dish_file_extension());
bankfilename = malloc(len + 1);
sprintf(bankfilename, "%s%s", bank, dish_file_extension());
debug("bankfilename:%s\n", bankfilename);
len+= strlen(ev->session_dir);
filename = malloc(len + 1);
sprintf(filename, "%s%s", ev->session_dir, bankfilename);
debug("filename:%s\n",filename);
snprintf(command, sizeof(command),
"petri-foo --unconnected -U %s ${SESSION_DIR}%s",
ev->client_uuid, bankfilename);
debug("command:%s\n",command);
dish_file_write(filename);
ev->command_line = strdup(command);
jack_session_reply(jackdriver_get_client(), ev);
if (ev->type == JackSessionSaveAndQuit)
gtk_main_quit();
jack_session_event_free(ev);
return FALSE;
}
void audio_settings_session_cb(jack_session_event_t *event, void *arg )
{
(void)arg;
debug("adding g_idle_add thingy\n");
g_idle_add(gui_session_cb, event);
}
#endif
static void sync_cb(GtkToggleButton* button, gpointer data)
{
(void)data;
if (gtk_toggle_button_get_active (button))
{
sync_set_method (SYNC_METHOD_JACK);
msg_log(MSG_MESSAGE, "LFOs syncing to JACK\n");
}
else
{
sync_set_method (SYNC_METHOD_MIDI);
msg_log(MSG_MESSAGE, "LFOs syncing to MIDI\n");
}
}
......@@ -104,12 +61,14 @@ static void restart_cb(GtkButton *button, gpointer data)
{
(void)button;(void)data;
driver_restart();
msg_log(MSG_MESSAGE, "Driver restarted\n");
}
static void stop_cb(GtkButton *button, gpointer data)
{
(void)button;(void)data;
driver_stop();
msg_log(MSG_MESSAGE, "Driver stopped\n");
}
......@@ -139,7 +98,7 @@ void audio_settings_init (GtkWidget* parent)
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW (window), "Audio Settings");
gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(parent));
gtk_window_set_modal (GTK_WINDOW (window), TRUE);
gtk_window_set_modal (GTK_WINDOW (window), FALSE);
g_signal_connect(GTK_WINDOW(window), "delete-event",
G_CALLBACK(cb_close), NULL);
......@@ -167,6 +126,9 @@ void audio_settings_init (GtkWidget* parent)
tmp = gtk_check_button_new_with_label
("Sync to JACK Transport instead of MIDI");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp),
sync_get_method() == SYNC_METHOD_JACK ? TRUE : FALSE);
gtk_box_pack_start(GTK_BOX(vbox), tmp, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(tmp), "toggled",
G_CALLBACK(sync_cb), NULL);
......
......@@ -29,7 +29,7 @@
#include "config.h"
#ifdef HAVE_JACK_SESSION_H
#if HAVE_JACK_SESSION_H
#include <jack/session.h>
#endif
......@@ -38,7 +38,7 @@ void audio_settings_init(GtkWidget* parent);
void audio_settings_show(void);
#ifdef HAVE_JACK_SESSION_H
#if HAVE_JACK_SESSION_H
void audio_settings_session_cb(jack_session_event_t *event, void *arg);
#endif
......
This diff is collapsed.
......@@ -29,12 +29,14 @@
#include <gtk/gtk.h>
int bank_ops_new (void);
int bank_ops_open (GtkWidget* parent_window);
int bank_ops_save_as (GtkWidget* parent_window);
int bank_ops_save (GtkWidget* parent_window);
const char* bank_ops_bank (void);
int bank_ops_open_recent (GtkWidget* parent_window
, char* filename);
int bank_ops_new (void);
int bank_ops_open (GtkWidget* parent_window);
int bank_ops_open_recent(GtkWidget* parent_window, char* filename);
int bank_ops_import (GtkWidget* parent_window);
int bank_ops_basic_save_as (GtkWidget* parent_window);
int bank_ops_full_save_as (GtkWidget* parent_window);
int bank_ops_save (GtkWidget* parent_window);
int bank_ops_export (GtkWidget* parent_window);
#endif /* __BANK_OPS_H__ */
......@@ -26,10 +26,10 @@
#include <errno.h>
#include "phin.h"
#include "global_settings.h"
#include "petri-foo.h"
#include "msg_log.h"
#include "sync.h"
#define SETTINGS_BASENAME "rc.xml"
......@@ -49,11 +49,10 @@ void settings_init()
gbl_settings->sample_file_filter = strdup("All Audio files");
gbl_settings->sample_auto_preview = true;
gbl_settings->sample_preview_length = 10.0f;
gbl_settings->filename = (char*) g_build_filename(
g_get_user_config_dir(),
g_get_prgname(),
"petri-foo",
SETTINGS_BASENAME,
NULL);
......@@ -144,14 +143,7 @@ int settings_read(const char* path)
gbl_settings->last_bank_dir =
(char*) xmlGetProp(node2, BAD_CAST "value");
}
/*
if (xmlStrcmp(prop, BAD_CAST "sliders-use-fans") == 0)
{
phin_fan_slider_set_fans_active(
xmlstr_to_gboolean(xmlGetProp(node2,
BAD_CAST "value")));
}
*/
if (xmlStrcmp(prop, BAD_CAST "log-lines") == 0)
{
xmlChar* vprop = xmlGetProp(node2, BAD_CAST "value");
......@@ -177,17 +169,16 @@ int settings_read(const char* path)
BAD_CAST "value"));
}
if (xmlStrcmp(prop, BAD_CAST "sample-preview-length") == 0)
if (xmlStrcmp(prop, BAD_CAST "sync-method") == 0)
{
float f;
xmlChar* vprop = xmlGetProp(node2, BAD_CAST "value");
if (sscanf((const char*)vprop, "%f", &f) == 1)
{
if (f > 0.0f && f < 60.0f)
gbl_settings->sample_preview_length = f;
}
if (xmlStrcmp(vprop, BAD_CAST "jack") == 0)
sync_set_method(SYNC_METHOD_JACK);
else
sync_set_method(SYNC_METHOD_MIDI);
}
}
}
}
......@@ -263,15 +254,6 @@ int settings_write()
xmlNewProp(node2, BAD_CAST "value",
BAD_CAST gbl_settings->last_bank_dir);
/*
node2 = xmlNewTextChild(node1, NULL, BAD_CAST "property", NULL);
xmlNewProp(node2, BAD_CAST "name", BAD_CAST "sliders-use-fans");
xmlNewProp(node2, BAD_CAST "type", BAD_CAST "boolean");
xmlNewProp(node2, BAD_CAST "value",
BAD_CAST (phin_fan_slider_get_fans_active()
? "true"
: "false"));
*/
node2 = xmlNewTextChild(node1, NULL, BAD_CAST "property", NULL);
xmlNewProp(node2, BAD_CAST "name", BAD_CAST "last-bank-directory");
xmlNewProp(node2, BAD_CAST "type", BAD_CAST "string");
......@@ -300,11 +282,12 @@ int settings_write()
: "false"));
node2 = xmlNewTextChild(node1, NULL, BAD_CAST "property", NULL);
xmlNewProp(node2, BAD_CAST "name", BAD_CAST "sample-preview-length");
xmlNewProp(node2, BAD_CAST "type", BAD_CAST "float");
snprintf(buf, CHARBUFSIZE, "%0.3f",
gbl_settings->sample_preview_length);
xmlNewProp(node2, BAD_CAST "value", BAD_CAST buf);
xmlNewProp(node2, BAD_CAST "name", BAD_CAST "sync-method");
xmlNewProp(node2, BAD_CAST "type", BAD_CAST "string");
xmlNewProp(node2, BAD_CAST "value",
BAD_CAST (sync_get_method() == SYNC_METHOD_JACK
? "jack"
: "midi"));
debug("attempting to write file:%s\n",gbl_settings->filename);
......
......@@ -24,9 +24,6 @@
#include <stdbool.h>
/* global settings
*/
#define DEFAULT_LOG_LINES 100
#define DEFAULT_ABS_MAX_SAMPLE (1024 * 1024 * 1024)
......@@ -39,14 +36,9 @@ typedef struct global_settings_def
char* last_sample_dir;
char* last_bank_dir;
int log_lines;
/*
int abs_max_sample_size;
int max_sample_size;
*/
char* sample_file_filter;
bool sample_auto_preview;
float sample_preview_length;
} global_settings;
......
This diff is collapsed.
......@@ -30,19 +30,18 @@
enum
{
GUI_SPACING = 6, /* space between widgets */
GUI_INDENT = 18, /* how much to indent sections by */
GUI_SECSPACE = 18, /* space between sections */
GUI_SCROLLSPACE = 3, /* space between a scrollbar and its scrollie thingie */
GUI_TITLESPACE = 12, /* space between a section title and its contents */
GUI_TEXTSPACE = 12, /* space between a label and its control */
GUI_BORDERSPACE = 12, /* space between a border and its guts */
GUI_THRESHOLD = 20, /* threshold used for sliderbuttons */
GUI_REFRESH_TIMEOUT = 100, /* time in milliseconds between controller refreshes */
GUI_MAX_RECENT_FILES = 5 /* maximum recent files in Open Recent Bank menu */
GUI_SPACING = 6, /* space between widgets */
GUI_INDENT = 18, /* how much to indent sections by */
GUI_SECSPACE = 18, /* space between sections */
GUI_SCROLLSPACE = 3, /* space between a scrollbar and its thingie */
GUI_TITLESPACE = 12, /* space between section title and contents */
GUI_TEXTSPACE = 12, /* space between a label and its control */
GUI_BORDERSPACE = 12, /* space between a border and its guts */
GUI_THRESHOLD = 20, /* threshold used for sliderbuttons */
GUI_REFRESH_TIMEOUT = 100, /* milliseconds controller refreshes */
GUI_MAX_RECENT_FILES = 5 /* number of files in Open Recent menu */
};
/* Recent Manager */
/* returns a titlefied label */
GtkWidget* gui_title_new(const char* msg);
......@@ -83,8 +82,10 @@ void gui_recent_files_load(void);
/* get the gui's PatchList widget */
PatchList* gui_get_patch_list(void);
/* set petri-foo window title */
void gui_set_window_title(const char* title);
/* add bank name to window title, or send NULL to update
instance name in window title
*/
void gui_set_window_title_bank(const char*);
/* callbacks for use by context menu ( see patchlist.[ch] ) */
void cb_menu_patch_add( GtkWidget* menu_item, gpointer data);
......@@ -104,6 +105,8 @@ GtkWidget*
GCallback cb,
gpointer data);
void gui_set_session_mode(void);
GtkRecentManager *recent_manager;
#endif /* __GUI_H__ */
......@@ -410,6 +410,7 @@ static void lfo_tab_init(LfoTab* self)
ID_SELECTOR_V);
mod_src_free(lfo_ids);
lfo_ids = 0;
gui_pack(selfbox, p->idsel);
gui_pack(selfbox, gui_hpad_new(GUI_SECSPACE));
......@@ -553,18 +554,16 @@ static void update_lfo(LfoTabPrivate* p)
float fm1amt, fm2amt;
int am1src, am2src;
float am1amt, am2amt;
int mod_srcs;
GtkTreeIter fm1iter, fm2iter;
GtkTreeIter am1iter, am2iter;
p->lfo_id = id_selector_get_id(ID_SELECTOR(p->idsel));
debug("UPDATE LFO\t\tgot lfo id:%d\n", p->lfo_id);
int mod_srcs = (mod_src_is_global(p->lfo_id)
mod_srcs = (mod_src_is_global(p->lfo_id)
? MOD_SRC_GLOBALS
: MOD_SRC_ALL);
block(p);
mod_src_combo_set_model(GTK_COMBO_BOX(p->fm1_combo), mod_srcs);
mod_src_combo_set_model(GTK_COMBO_BOX(p->fm2_combo), mod_srcs);
......@@ -572,9 +571,6 @@ static void update_lfo(LfoTabPrivate* p)
mod_src_combo_set_model(GTK_COMBO_BOX(p->am2_combo), mod_srcs);
unblock(p);
debug("getting lfo (id:%d) data from patch:%d\n",
p->lfo_id,p->patch_id);
lfoshape = patch_get_lfo_shape( p->patch_id, p->lfo_id);
freq = patch_get_lfo_freq( p->patch_id, p->lfo_id);
beats = patch_get_lfo_sync_beats( p->patch_id, p->lfo_id);
......@@ -599,8 +595,6 @@ static void update_lfo(LfoTabPrivate* p)
am2src = patch_get_lfo_am2_src( p->patch_id, p->lfo_id);
am2amt = patch_get_lfo_am2_amt( p->patch_id, p->lfo_id);
debug("getting mod src combo iter with id\n");
if (!mod_src_combo_get_iter_with_id(GTK_COMBO_BOX(p->fm1_combo),
fm1src, &fm1iter))
{
......@@ -625,14 +619,9 @@ static void update_lfo(LfoTabPrivate* p)
debug("failed to get lfo fm2 source id from combo box\n");
}
debug("...\n");
block(p);
phin_slider_set_value(PHIN_SLIDER(p->freq), freq);
if (mod_src_is_global(p->lfo_id))
{
gtk_widget_hide(p->delay);
......@@ -691,7 +680,6 @@ static void update_lfo(LfoTabPrivate* p)