Пример #1
0
/* Define both the original and replacement error symbol is possible.  Thus
   the user is able to check symbolic errors after unsuccessful networking
   function calls.  */
static void
scm_socket_symbols_Win32 (socket_error_t * e)
{
  while (e->error != -1)
    {
      if (e->error)
	{
	  if (e->correct_str)
	    scm_c_define (e->correct_str, scm_from_int (e->error));
	  if (e->replace && e->replace_str)
	    scm_c_define (e->replace_str, scm_from_int (e->replace));
	}
      e++;
    }
}
Пример #2
0
/*! \brief Define a hook.
 * \par Function Description
 * Creates a Guile new hook with \a n_args arguments, and binds it to
 * the variable \a name, returning the newly created hook.
 *
 * \param n_args Number of arguments the hook should take.
 * \param name   Name of variable to bind the hook to.
 *
 * \return the newly-created hook.
 */
static SCM
create_hook (const char *name, int n_args)
{
  SCM hook = scm_make_hook (scm_from_int (n_args));
  scm_c_define (name, hook);
  return scm_permanent_object (hook);
}
Пример #3
0
static void init_env(void) {
	SCM smob;
	char *ver;
	SOURCE_HANDLE *handle;
	init_log();
	init_alsa_module();
	ver = scm_to_locale_string(scm_version());
	log_msg("Guile version %s\n", ver);
	free(ver);
	init_messaging(msg_port);
	init_time();
	init_json();
	init_scheduler();
	init_audiofile();
	if (use_jack) init_jackport();
	init_feeds();
	init_recorder();
	init_stream();
	init_source_mod();
	init_ladspa();
	init_unitgen();
	fader = (SOURCE_OBJ *)my_malloc(sizeof(SOURCE_OBJ), "main fader");
	handle = (SOURCE_HANDLE *)my_gc_malloc(sizeof(SOURCE_HANDLE), "mains",
				"mains");
	handle->body = (void *)fader;
	handle->src = fader;
	init_source(fader);
	mains_tag = scm_make_smob_type("mains", sizeof(SOURCE_OBJ));
	SCM_NEWSMOB(smob, mains_tag, handle);
	scm_c_define("mains", smob);
	if (use_jack) {
		scm_c_define("jack-client-name",
			scm_from_locale_string(client_name));
		scm_c_define_gsubr("patch-out", 2, 0, 0, patch_out);
		scm_c_define_gsubr("unpatch-out", 2, 0, 0, unpatch_out);
		}
	scm_c_define_gsubr("quit", 0, 0, 0, qmx_quit);
	scm_c_define_gsubr("db", 1, 0, 0, db20);
	scm_c_define_gsubr("period-duty-cycle", 0, 0, 0, get_duty_cycle);
	scm_permanent_object(console_display =
			scm_c_eval_string(console_display_src));
	scm_permanent_object(catch_display =
			scm_c_eval_string(catch_display_src));
	return;
	}
Пример #4
0
void init_guile(void)
{
    guile_current_session = NULL;

    // Set up the hooks.
    scm_c_define_gsubr("write-to-stderr", 1, 0, 0, &scheme_write_to_stderr);
    scm_c_define("send-command-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define_gsubr("send-command", 1, 0, 0, &scheme_send_command);
    scm_c_define("config-filename", scm_from_locale_string("mud.scm")); // TODO: Make this configurable.
    scm_c_define_gsubr("reload-config", 0, 0, 0, &scheme_load_config_file);
    scm_c_define_gsubr("search-backwards", 1, 0, 0, &scheme_search_backwards);

    // Load up regex support.
    scm_c_use_module("ice-9 regex");

    // Load the config file.
    scheme_load_config_file();
}
Пример #5
0
void
gram_keydown_hook_init (void)
{
  gram_keydown_hook =
    scm_permanent_object (scm_make_hook (scm_from_unsigned_integer (2)));
  gram_keydown_hook_object =
    scm_permanent_object (scm_c_define ("keydown-hook", gram_keydown_hook));
  scm_c_export ("keydown-hook", NULL);
}
Пример #6
0
void
gram_view_focus_hook_init (void)
{
  gram_view_focus_hook =
    scm_permanent_object (scm_make_hook (scm_from_unsigned_integer (2)));
  gram_view_focus_hook_object =
    scm_permanent_object (scm_c_define
                          ("view-focus-hook", gram_view_focus_hook));
  scm_c_export ("view-focus-hook", NULL);
}
Пример #7
0
void
gram_output_created_hook_init (void)
{
  gram_output_created_hook =
    scm_permanent_object (scm_make_hook (scm_from_unsigned_integer (1)));
  gram_output_created_hook_object =
    scm_permanent_object (scm_c_define
                          ("output-created-hook", gram_output_created_hook));
  scm_c_export ("output-created-hook", NULL);
}
Пример #8
0
void
gram_compositor_ready_hook_init (void)
{
  gram_compositor_ready_hook =
    scm_permanent_object (scm_make_hook (scm_from_unsigned_integer (0)));
  gram_compositor_ready_hook_object =
    scm_permanent_object (scm_c_define
                          ("compositor-ready-hook",
                           gram_compositor_ready_hook));
  scm_c_export ("compositor-ready-hook", NULL);
}
Пример #9
0
void
gdbscm_define_variables (const scheme_variable *variables, int is_public)
{
  const scheme_variable *sv;

  for (sv = variables; sv->name != NULL; ++sv)
    {
      scm_c_define (sv->name, sv->value);
      if (is_public)
	scm_c_export (sv->name, NULL);
    }
}
Пример #10
0
void
gdbscm_define_integer_constants (const scheme_integer_constant *constants,
				 int is_public)
{
  const scheme_integer_constant *sc;

  for (sc = constants; sc->name != NULL; ++sc)
    {
      scm_c_define (sc->name, scm_from_int (sc->value));
      if (is_public)
	scm_c_export (sc->name, NULL);
    }
}
Пример #11
0
void init_image(void)
{
  scm_c_define("AV_PIX_FMT_RGB24"  , scm_from_int(AV_PIX_FMT_RGB24));
  scm_c_define("AV_PIX_FMT_BGR24"  , scm_from_int(AV_PIX_FMT_BGR24));
  scm_c_define("AV_PIX_FMT_BGRA"   , scm_from_int(AV_PIX_FMT_BGRA));
  scm_c_define("AV_PIX_FMT_GRAY8"  , scm_from_int(AV_PIX_FMT_GRAY8));
  scm_c_define("AV_PIX_FMT_YUV420P", scm_from_int(AV_PIX_FMT_YUV420P));
  scm_c_define("AV_PIX_FMT_UYVY422", scm_from_int(AV_PIX_FMT_UYVY422));
  scm_c_define("AV_PIX_FMT_YUYV422", scm_from_int(AV_PIX_FMT_YUYV422));
  scm_c_define_gsubr("image-convert"   , 4, 0, 0, SCM_FUNC(image_convert   ));
  scm_c_define_gsubr("mjpeg-to-yuv420p", 4, 0, 0, SCM_FUNC(mjpeg_to_yuv420p));
}
Пример #12
0
void *init_scheme(void *data)
{
    scm_c_define_gsubr("nwm-stop", 0, 0, 0, &scm_nwm_stop);
    scm_c_define_gsubr("count-clients", 0, 0, 0, &scm_count_clients);

    scm_c_define_gsubr("all-clients", 0, 0, 0, &scm_all_clients);
    scm_c_define_gsubr("visible-clients", 0, 0, 0, &scm_visible_clients);
    scm_c_define_gsubr("first-client", 0, 0, 0, &scm_first_client);
    scm_c_define_gsubr("next-client", 1, 0, 0, &scm_next_client);
    scm_c_define_gsubr("prev-client", 1, 0, 0, &scm_prev_client);
    scm_c_define_gsubr("client-list-reverse", 0, 0, 0, &scm_client_list_reverse);
    scm_c_define_gsubr("client-list-swap", 2, 0, 0, &scm_client_list_swap);

    scm_c_define_gsubr("test-undefined", 0, 0, 0, &scm_test_undefined);

    scm_c_define_gsubr("move-client", 3, 0, 0, &scm_move_client);
    scm_c_define_gsubr("resize-client", 3, 0, 0, &scm_resize_client);
    scm_c_define_gsubr("map-client", 1, 0, 0, &scm_map_client);
    scm_c_define_gsubr("unmap-client", 1, 0, 0, &scm_unmap_client);
    scm_c_define_gsubr("mapped?", 1, 0, 0, &scm_is_mapped);    
    scm_c_define_gsubr("destroy-client", 1, 0, 0, &scm_destroy_client);
    scm_c_define_gsubr("dump-client", 1, 0, 0, &scm_dump_client);
    scm_c_define_gsubr("client-x", 1, 0, 0, &scm_client_x);
    scm_c_define_gsubr("client-y", 1, 0, 0, &scm_client_y);
    scm_c_define_gsubr("client-width", 1, 0, 0, &scm_client_width);
    scm_c_define_gsubr("client-height", 1, 0, 0, &scm_client_height);

    scm_c_define_gsubr("screen-width", 0, 0, 0, &scm_screen_width);
    scm_c_define_gsubr("screen-height", 0, 0, 0, &scm_screen_height);

    scm_c_define_gsubr("bind-key", 3, 0, 0, &scm_bind_key);

    scm_c_define_gsubr("clear", 0, 0, 0, &scm_clear);
    scm_c_define_gsubr("draw-border", 3, 0, 0, &scm_draw_border);
    scm_c_define_gsubr("get-focus-client", 0, 0, 0, &scm_get_focus_client);
    scm_c_define_gsubr("focus-client", 1, 0, 0, &scm_focus_client);
    scm_c_define_gsubr("get-client-name", 1, 0, 0, &scm_get_client_name);

    scm_c_define_gsubr("launch-program", 1, 0, 0, &scm_launch_program);

    scm_c_define_gsubr("log", 1, 0, 0, &scm_nwm_log);
    scm_c_define_gsubr("trace-x-events", 1, 0, 0, &scm_trace_x_events);

    scm_c_define("create-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("map-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("unmap-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("destroy-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("focus-client-hook", scm_make_hook(scm_from_int(1)));
    scm_c_define("update-client-hook", scm_make_hook(scm_from_int(1)));

    init_client_type();

    init_io_buffer_ports();

    return NULL;
}
Пример #13
0
/*! \brief Register some libgeda variables with scheme.
 *  \par Function Description
 *  Define some variables to be visible to Scheme.
 */
void g_register_libgeda_vars (void)
{
  scm_c_define("geda-rc-path", 
	       scm_from_utf8_string (s_path_sys_config ()));
  scm_c_define("geda-data-path",
	       scm_from_utf8_string (s_path_sys_data ()));
  scm_c_define("path-sep", 
	       scm_from_utf8_string(G_DIR_SEPARATOR_S));

  scm_c_define("OBJ_LINE", SCM_MAKE_CHAR((unsigned char) OBJ_LINE));
  scm_c_define("OBJ_BOX", SCM_MAKE_CHAR((unsigned char) OBJ_BOX));
  scm_c_define("OBJ_PICTURE", SCM_MAKE_CHAR((unsigned char) OBJ_PICTURE));
  scm_c_define("OBJ_CIRCLE", SCM_MAKE_CHAR((unsigned char) OBJ_CIRCLE));
  scm_c_define("OBJ_NET", SCM_MAKE_CHAR((unsigned char) OBJ_NET));
  scm_c_define("OBJ_BUS", SCM_MAKE_CHAR((unsigned char) OBJ_BUS));
  scm_c_define("OBJ_COMPLEX", SCM_MAKE_CHAR((unsigned char) OBJ_COMPLEX));
  scm_c_define("OBJ_TEXT", SCM_MAKE_CHAR((unsigned char) OBJ_TEXT));
  scm_c_define("OBJ_PIN", SCM_MAKE_CHAR((unsigned char) OBJ_PIN));
  scm_c_define("OBJ_ARC", SCM_MAKE_CHAR((unsigned char) OBJ_ARC));
  scm_c_define("OBJ_PLACEHOLDER", SCM_MAKE_CHAR((unsigned char) OBJ_PLACEHOLDER));
  scm_c_define("OBJ_PATH", SCM_MAKE_CHAR((unsigned char) OBJ_PATH));
}
Пример #14
0
void init_core(void)
{
  LLVMLinkInMCJIT();
  LLVMInitializeNativeTarget();
  LLVMInitializeNativeAsmPrinter();
  LLVMInitializeNativeAsmParser();

  llvm_module_tag = scm_make_smob_type("llvm_module", sizeof(struct llvm_module_t));
  scm_set_smob_free(llvm_module_tag, free_llvm_module);

  llvm_function_tag = scm_make_smob_type("llvm_function", sizeof(struct llvm_function_t));
  scm_set_smob_free(llvm_function_tag, free_llvm_function);

  llvm_value_tag = scm_make_smob_type("llvm_value", sizeof(struct llvm_value_t));

  llvm_basic_block_tag = scm_make_smob_type("llvm_basic_block", sizeof(struct llvm_basic_block_t));

  scm_c_define("llvm-bool"  , scm_from_int(SCM_FOREIGN_TYPE_LAST + 1));
  scm_c_define("llvm-void"  , scm_from_int(SCM_FOREIGN_TYPE_VOID    ));
  scm_c_define("llvm-float" , scm_from_int(SCM_FOREIGN_TYPE_FLOAT   ));
  scm_c_define("llvm-double", scm_from_int(SCM_FOREIGN_TYPE_DOUBLE  ));
  scm_c_define("llvm-uint8" , scm_from_int(SCM_FOREIGN_TYPE_UINT8   ));
  scm_c_define("llvm-int8"  , scm_from_int(SCM_FOREIGN_TYPE_INT8    ));
  scm_c_define("llvm-uint16", scm_from_int(SCM_FOREIGN_TYPE_UINT16  ));
  scm_c_define("llvm-int16" , scm_from_int(SCM_FOREIGN_TYPE_INT16   ));
  scm_c_define("llvm-uint32", scm_from_int(SCM_FOREIGN_TYPE_UINT32  ));
  scm_c_define("llvm-int32" , scm_from_int(SCM_FOREIGN_TYPE_INT32   ));
  scm_c_define("llvm-uint64", scm_from_int(SCM_FOREIGN_TYPE_UINT64  ));
  scm_c_define("llvm-int64" , scm_from_int(SCM_FOREIGN_TYPE_INT64   ));
  scm_c_define("llvm-int-slt" , scm_from_int(LLVMIntSLT));
  scm_c_define("llvm-int-ult" , scm_from_int(LLVMIntULT));
  scm_c_define("llvm-int-sle" , scm_from_int(LLVMIntSLE));
  scm_c_define("llvm-int-ule" , scm_from_int(LLVMIntULE));
  scm_c_define("llvm-int-ugt" , scm_from_int(LLVMIntUGT));
  scm_c_define("llvm-int-sgt" , scm_from_int(LLVMIntSGT));
  scm_c_define("llvm-int-uge" , scm_from_int(LLVMIntUGE));
  scm_c_define("llvm-int-sge" , scm_from_int(LLVMIntSGE));
  scm_c_define("llvm-int-eq"  , scm_from_int(LLVMIntEQ ));
  scm_c_define("llvm-int-ne"  , scm_from_int(LLVMIntNE ));
  scm_c_define("llvm-real-lt" , scm_from_int(LLVMRealOLT));
  scm_c_define("llvm-real-le" , scm_from_int(LLVMRealOLE));
  scm_c_define("llvm-real-gt" , scm_from_int(LLVMRealOGT));
  scm_c_define("llvm-real-ge" , scm_from_int(LLVMRealOGE));
  scm_c_define("llvm-real-eq" , scm_from_int(LLVMRealOEQ));
  scm_c_define("llvm-real-ne" , scm_from_int(LLVMRealONE));
  scm_c_define_gsubr("make-llvm-module-base"       , 0, 0, 0, SCM_FUNC(make_llvm_module_base       ));
  scm_c_define_gsubr("llvm-module-destroy"         , 1, 0, 0, SCM_FUNC(llvm_module_destroy         ));
  scm_c_define_gsubr("llvm-dump-module"            , 1, 0, 0, SCM_FUNC(llvm_dump_module            ));
  scm_c_define_gsubr("make-llvm-function"          , 4, 0, 0, SCM_FUNC(make_llvm_function          ));
  scm_c_define_gsubr("llvm-function-destroy"       , 1, 0, 0, SCM_FUNC(llvm_function_destroy       ));
  scm_c_define_gsubr("llvm-function-return"        , 2, 0, 0, SCM_FUNC(llvm_function_return        ));
  scm_c_define_gsubr("llvm-function-return-void"   , 1, 0, 0, SCM_FUNC(llvm_function_return_void   ));
  scm_c_define_gsubr("llvm-compile-module"         , 1, 0, 0, SCM_FUNC(llvm_compile_module         ));
  scm_c_define_gsubr("llvm-get-function-address"   , 2, 0, 0, SCM_FUNC(llvm_get_function_address   ));
  scm_c_define_gsubr("llvm-verify-module"          , 1, 0, 0, SCM_FUNC(llvm_verify_module          ));
  scm_c_define_gsubr("make-llvm-basic-block"       , 2, 0, 0, SCM_FUNC(make_llvm_basic_block       ));
  scm_c_define_gsubr("llvm-position-builder-at-end", 2, 0, 0, SCM_FUNC(llvm_position_builder_at_end));
  scm_c_define_gsubr("llvm-build-branch"           , 2, 0, 0, SCM_FUNC(llvm_build_branch           ));
  scm_c_define_gsubr("llvm-build-cond-branch"      , 4, 0, 0, SCM_FUNC(llvm_build_cond_branch      ));
  scm_c_define_gsubr("llvm-build-select"           , 4, 0, 0, SCM_FUNC(llvm_build_select           ));
  scm_c_define_gsubr("make-llvm-constant"          , 2, 0, 0, SCM_FUNC(make_llvm_constant          ));
  scm_c_define_gsubr("llvm-get-type"               , 1, 0, 0, SCM_FUNC(llvm_get_type               ));
  scm_c_define_gsubr("llvm-build-load"             , 3, 0, 0, SCM_FUNC(llvm_build_load             ));
  scm_c_define_gsubr("llvm-build-store"            , 4, 0, 0, SCM_FUNC(llvm_build_store            ));
  scm_c_define_gsubr("llvm-get-param"              , 2, 0, 0, SCM_FUNC(llvm_get_param              ));
  scm_c_define_gsubr("llvm-build-neg"              , 2, 0, 0, SCM_FUNC(llvm_build_neg              ));
  scm_c_define_gsubr("llvm-build-fneg"             , 2, 0, 0, SCM_FUNC(llvm_build_fneg             ));
  scm_c_define_gsubr("llvm-build-not"              , 2, 0, 0, SCM_FUNC(llvm_build_not              ));
  scm_c_define_gsubr("llvm-build-add"              , 3, 0, 0, SCM_FUNC(llvm_build_add              ));
  scm_c_define_gsubr("llvm-build-fadd"             , 3, 0, 0, SCM_FUNC(llvm_build_fadd             ));
  scm_c_define_gsubr("llvm-build-sub"              , 3, 0, 0, SCM_FUNC(llvm_build_sub              ));
  scm_c_define_gsubr("llvm-build-fsub"             , 3, 0, 0, SCM_FUNC(llvm_build_fsub             ));
  scm_c_define_gsubr("llvm-build-mul"              , 3, 0, 0, SCM_FUNC(llvm_build_mul              ));
  scm_c_define_gsubr("llvm-build-fmul"             , 3, 0, 0, SCM_FUNC(llvm_build_fmul             ));
  scm_c_define_gsubr("llvm-build-udiv"             , 3, 0, 0, SCM_FUNC(llvm_build_udiv             ));
  scm_c_define_gsubr("llvm-build-sdiv"             , 3, 0, 0, SCM_FUNC(llvm_build_sdiv             ));
  scm_c_define_gsubr("llvm-build-fdiv"             , 3, 0, 0, SCM_FUNC(llvm_build_fdiv             ));
  scm_c_define_gsubr("llvm-build-shl"              , 3, 0, 0, SCM_FUNC(llvm_build_shl              ));
  scm_c_define_gsubr("llvm-build-lshr"             , 3, 0, 0, SCM_FUNC(llvm_build_lshr             ));
  scm_c_define_gsubr("llvm-build-ashr"             , 3, 0, 0, SCM_FUNC(llvm_build_ashr             ));
  scm_c_define_gsubr("llvm-build-urem"             , 3, 0, 0, SCM_FUNC(llvm_build_urem             ));
  scm_c_define_gsubr("llvm-build-srem"             , 3, 0, 0, SCM_FUNC(llvm_build_srem             ));
  scm_c_define_gsubr("llvm-build-frem"             , 3, 0, 0, SCM_FUNC(llvm_build_frem             ));
  scm_c_define_gsubr("llvm-build-and"              , 3, 0, 0, SCM_FUNC(llvm_build_and              ));
  scm_c_define_gsubr("llvm-build-or"               , 3, 0, 0, SCM_FUNC(llvm_build_or               ));
  scm_c_define_gsubr("llvm-build-xor"              , 3, 0, 0, SCM_FUNC(llvm_build_xor              ));
  scm_c_define_gsubr("llvm-build-trunc"            , 3, 0, 0, SCM_FUNC(llvm_build_trunc            ));
  scm_c_define_gsubr("llvm-build-sext"             , 3, 0, 0, SCM_FUNC(llvm_build_sext             ));
  scm_c_define_gsubr("llvm-build-zext"             , 3, 0, 0, SCM_FUNC(llvm_build_zext             ));
  scm_c_define_gsubr("llvm-build-fp-cast"          , 3, 0, 0, SCM_FUNC(llvm_build_fp_cast          ));
  scm_c_define_gsubr("llvm-build-fp-to-si"         , 3, 0, 0, SCM_FUNC(llvm_build_fp_to_si         ));
  scm_c_define_gsubr("llvm-build-fp-to-ui"         , 3, 0, 0, SCM_FUNC(llvm_build_fp_to_ui         ));
  scm_c_define_gsubr("llvm-build-si-to-fp"         , 3, 0, 0, SCM_FUNC(llvm_build_si_to_fp         ));
  scm_c_define_gsubr("llvm-build-ui-to-fp"         , 3, 0, 0, SCM_FUNC(llvm_build_ui_to_fp         ));
  scm_c_define_gsubr("llvm-build-call"             , 6, 0, 0, SCM_FUNC(llvm_build_call             ));
  scm_c_define_gsubr("llvm-build-integer-cmp"      , 4, 0, 0, SCM_FUNC(llvm_build_integer_cmp      ));
  scm_c_define_gsubr("llvm-build-float-cmp"        , 4, 0, 0, SCM_FUNC(llvm_build_float_cmp        ));
  scm_c_define_gsubr("llvm-build-alloca"           , 2, 0, 0, SCM_FUNC(llvm_build_alloca           ));
  scm_c_define_gsubr("llvm-build-phi"              , 2, 0, 0, SCM_FUNC(llvm_build_phi              ));
  scm_c_define_gsubr("llvm-add-incoming"           , 3, 0, 0, SCM_FUNC(llvm_add_incoming           ));
}
Пример #15
0
static void *define_wrapper(struct define_data *data)
{
	return scm_c_define(data->name, py2scm(data->value));
}
Пример #16
0
int main(int argc, char **argv) {
	struct pollfd polls[MAX_POLL_ITEMS];
	int opt, background, fdin, nfds, watch_alsa;
	int con_in, msg_in;
	background = 0;
	watch_alsa = 0;
	client_name = DEFAULT_CLIENT_NAME;
	server_name = DEFAULT_SERVER_NAME;
	msg_port = DEFAULT_MSG_PORT;
	sampling_rate = DEFAULT_SAMPLING_RATE;
	period_frames = DEFAULT_PERIOD_SIZE;
	while ((opt = getopt(argc, argv, "adn:p:P:r:s:")) != -1) {
		switch (opt) {
			case 'a': watch_alsa = 1; break;
			case 'd': background = 1; break;
			case 'j': use_jack = 1; break;
			case 'n': client_name = optarg; break;
			case 'P': msg_port = atoi(optarg); break;
			case 'p': period_frames = atoi(optarg); break;
			case 'r': sampling_rate = atoi(optarg); break;
			case 's': server_name = optarg; break;
			default:
				fprintf(stderr, "invalid option: %c", opt);
				exit(1);
			}
		}
	if (background) {
		set_handler(SIGCHLD, sigsnag);
		if (fork() > 0) _exit(0);
		}
	set_handler(SIGINT, sigsnag);
	set_handler(SIGTERM, sigsnag);
	set_handler(SIGABRT, sigsnag);
	set_handler(SIGHUP, sigsnag);
	set_handler(SIGQUIT, sigsnag);
	scm_init_guile();
	init_env();
	if (use_jack) start_jack(NULL);
	else {
		size_t memsize = QMX_CHANNELS * period_frames * sizeof(sample_t);
		fixed_cauldron = (sample_t *)malloc(memsize);
		int ret = mlock(fixed_cauldron, memsize);
		if (ret == 0) log_msg("MIXMEM locked: %lu\n", memsize);
		else log_msg("MIXMEM not locked: %s\n", strerror(errno));
		}
	start_outbuffer();
	scm_c_define("jack-sampling-rate", scm_from_int(sampling_rate));
	while (optind < argc) {
		log_msg("load %s\n", argv[optind]);
		scm_c_primitive_load(argv[optind]);
		optind++;
		}
	fdin = fileno(stdin);
	nfds = 0;
	con_in = -1;
	if (!background) {
		con_in = nfds;
		polls[nfds].fd = fdin;
		polls[nfds].events = POLLIN;
		nfds++;
		}
	msg_in = -1;
	if (msg_socket() >= 0) {
		msg_in = nfds;
		polls[nfds].fd = msg_socket();
		polls[nfds].events = POLLIN;
		nfds++;
		}
	if (isatty(fdin)) rl_callback_handler_install(prompt, line_handler);
	running = 1;
	if (!use_jack) spawn_detached_thread(mix_thread_abs, NULL);
	while (running) {
		if (watch_alsa) check_card_event();
		if (poll(polls, nfds, POLL_TIMEOUT) < 1) continue;
		if ((con_in >= 0) && (polls[con_in].revents & POLLIN))
			process_line(fdin);
		if ((msg_in >= 0) && (polls[msg_in].revents & POLLIN))
			msg_process();
		}
	if (isatty(fdin)) rl_callback_handler_remove();
	shutdown_env();
	log_msg("bye!\n");
	cleanup();
	return 0;
	}
Пример #17
0
Файл: scm.cpp Проект: sigma/qnet
void Scm::createHook(const QString& symb, unsigned int nbargs) {
    SCM hook=scm_make_hook(SCM_MAKINUM(nbargs));
    scm_c_define(symb.ascii(),hook);
    sym[symb] = hook;
}
Пример #18
0
void init_tensorflow(void)
{
  tf_tensor_tag = scm_make_smob_type("tensor", sizeof(struct tf_tensor_t));
  scm_set_smob_free(tf_tensor_tag, free_tensor);

  tf_graph_tag = scm_make_smob_type("graph", sizeof(struct tf_graph_t));
  scm_set_smob_free(tf_graph_tag, free_graph);

  tf_description_tag = scm_make_smob_type("description", sizeof(struct tf_description_t));
  scm_set_smob_free(tf_description_tag, free_description);

  tf_output_tag = scm_make_smob_type("output", sizeof(struct tf_output_t));
  scm_set_smob_free(tf_output_tag, free_output);

  tf_session_tag = scm_make_smob_type("session", sizeof(struct tf_session_t));
  scm_set_smob_free(tf_session_tag, free_session);

  _status = TF_NewStatus();

  scm_c_define("TF_FLOAT"     , scm_from_int(TF_FLOAT     ));
  scm_c_define("TF_DOUBLE"    , scm_from_int(TF_DOUBLE    ));
  scm_c_define("TF_UINT8"     , scm_from_int(TF_UINT8     ));
  scm_c_define("TF_INT8"      , scm_from_int(TF_INT8      ));
  scm_c_define("TF_UINT16"    , scm_from_int(TF_UINT16    ));
  scm_c_define("TF_INT16"     , scm_from_int(TF_INT16     ));
  scm_c_define("TF_UINT32"    , scm_from_int(TF_UINT32    ));
  scm_c_define("TF_INT32"     , scm_from_int(TF_INT32     ));
  scm_c_define("TF_UINT64"    , scm_from_int(TF_UINT64    ));
  scm_c_define("TF_COMPLEX64" , scm_from_int(TF_COMPLEX64 ));
  scm_c_define("TF_INT64"     , scm_from_int(TF_INT64     ));
  scm_c_define("TF_BOOL"      , scm_from_int(TF_BOOL      ));
  scm_c_define("TF_COMPLEX128", scm_from_int(TF_COMPLEX128));
  scm_c_define("TF_STRING"    , scm_from_int(TF_STRING    ));
  scm_c_define_gsubr("make-tensor"                 , 4, 0, 0, SCM_FUNC(make_tensor                ));
  scm_c_define_gsubr("tf-from-tensor"              , 1, 0, 0, SCM_FUNC(tf_from_tensor             ));
  scm_c_define_gsubr("make-graph"                  , 0, 0, 0, SCM_FUNC(make_graph                 ));
  scm_c_define_gsubr("tf-graph-export_"            , 2, 0, 0, SCM_FUNC(tf_graph_export_           ));
  scm_c_define_gsubr("tf-graph-import_"            , 2, 0, 0, SCM_FUNC(tf_graph_import_           ));
  scm_c_define_gsubr("make-description"            , 3, 0, 0, SCM_FUNC(make_description           ));
  scm_c_define_gsubr("tf-finish-operation"         , 2, 0, 0, SCM_FUNC(tf_finish_operation        ));
  scm_c_define_gsubr("tf-add-input"                , 2, 0, 0, SCM_FUNC(tf_add_input               ));
  scm_c_define_gsubr("tf-add-input-list"           , 2, 0, 0, SCM_FUNC(tf_add_input_list          ));
  scm_c_define_gsubr("tf-set-attr-string"          , 3, 0, 0, SCM_FUNC(tf_set_attr_string         ));
  scm_c_define_gsubr("tf-set-attr-int"             , 3, 0, 0, SCM_FUNC(tf_set_attr_int            ));
  scm_c_define_gsubr("tf-set-attr-int-list"        , 3, 0, 0, SCM_FUNC(tf_set_attr_int_list       ));
  scm_c_define_gsubr("tf-set-attr-bool"            , 3, 0, 0, SCM_FUNC(tf_set_attr_bool           ));
  scm_c_define_gsubr("tf-set-attr-float"           , 3, 0, 0, SCM_FUNC(tf_set_attr_float          ));
  scm_c_define_gsubr("tf-set-attr-float-list"      , 3, 0, 0, SCM_FUNC(tf_set_attr_float_list     ));
  scm_c_define_gsubr("tf-set-attr-type"            , 3, 0, 0, SCM_FUNC(tf_set_attr_type           ));
  scm_c_define_gsubr("tf-set-attr-shape"           , 3, 0, 0, SCM_FUNC(tf_set_attr_shape          ));
  scm_c_define_gsubr("tf-set-attr-tensor"          , 3, 0, 0, SCM_FUNC(tf_set_attr_tensor         ));
  scm_c_define_gsubr("make-tf-session"             , 1, 0, 0, SCM_FUNC(make_tf_session            ));
  scm_c_define_gsubr("tf-run"                      , 3, 0, 0, SCM_FUNC(tf_run                     ));
  scm_c_define_gsubr("tf-add-gradient_"            , 3, 0, 0, SCM_FUNC(tf_add_gradient_           ));
  scm_c_define_gsubr("tf-output?"                  , 1, 0, 0, SCM_FUNC(tf_outputq                 ));
  scm_c_define_gsubr("tf-graph-operation-by-name_" , 2, 0, 0, SCM_FUNC(tf_graph_operation_by_name_));
  scm_c_define_gsubr("tf-operation-names_"         , 1, 0, 0, SCM_FUNC(tf_operation_names_        ));
}