void initialize_fx() { EFFECTS = make_list(); GLOBAL_EFFECTS = make_list(); EXPLOSION_SOUND = Mix_LoadWAV("sfx/explode.wav"); EFFECT_VERTICES[0].x = 0; EFFECT_VERTICES[0].y = 0; EFFECT_VERTICES[1].x = 1; EFFECT_VERTICES[1].y = 0; EFFECT_VERTICES[2].x = 1; EFFECT_VERTICES[2].y = 1; EFFECT_VERTICES[3].x = 0; EFFECT_VERTICES[3].y = 1; glGenBuffers(1, &EFFECT_VERTEX_HANDLER); glBindBuffer(GL_ARRAY_BUFFER, EFFECT_VERTEX_HANDLER); glBufferData(GL_ARRAY_BUFFER, 4 * sizeof(vertex), EFFECT_VERTICES, GL_STATIC_DRAW); __api_effect_tag = scm_make_smob_type("effect", sizeof(effect)); scm_c_define_gsubr("make-fx", 7, 0, 0, __api_make_fx); scm_c_define_gsubr("spawn-fx", 1, 0, 0, __api_spawn_fx); }
G_MODULE_EXPORT void go_plugin_init (GOPlugin *p, GOCmdContext *cc) { char *name, *dir; *ret_error = NULL; scm_init_guile (); /* Initialize just in case. */ eval_pos = NULL; init_value_type (); scm_c_define_gsubr ("gnumeric-funcall", 2, 0, 0, scm_gnumeric_funcall); scm_c_define_gsubr ("register-function", 5, 0, 0, scm_register_function); dir = gnm_sys_data_dir ("guile"); name = g_strconcat (dir, "gnumeric_startup.scm", NULL); scm_apply (scm_c_eval_string ("(lambda (filename)" " (if (access? filename R_OK)" " (load filename)" " (display (string-append \"could not read Guile plug-in init file\" filename \"\n\"))))"), scm_cons (scm_makfrom0str (name), SCM_EOL), SCM_EOL); g_free (name); g_free (dir); /* Don't try to deactivate the plugin */ gnm_plugin_use_ref (PLUGIN); }
void init_wrapper (void) { Py_Initialize(); if (atexit(Py_Finalize)) { fprintf(stderr,"cannot set Python finalization function\n"); // NOT COVERED BY TESTS exit(1); // NOT COVERED BY TESTS } initpyscm(); init_pysmob_type(); init_g2p2g_smob_type(); // The following must happen after init_g2p2g_smob_type(). init_default_guiletopy_templates(); SCM s_default_g2p = scm_variable_ref(scm_c_lookup("guile2python")); sargtemplate_default = scm_permanent_object(scm_list_2(scm_variable_ref(scm_c_lookup("g2p_list2Tuple")),s_default_g2p)); skwtemplate_default = SCM_UNDEFINED; // guileassoc2pythondict will choose the right default. srestemplate_default = scm_permanent_object(scm_variable_ref(scm_c_lookup("python2guile"))); scm_c_define_gsubr ("python-eval",1,1,0,python_eval); scm_c_define_gsubr ("python-apply",3,3,0,python_apply); scm_c_define_gsubr ("python-import",1,0,0,python_import); scm_c_define_gsubr ("pyguile-verbosity-set!",1,0,0,pyguile_verbosity_set); scm_c_define_gsubr ("pyguile-version",0,0,0,pyguile_version); }
VISIBLE void init_sortsmill_guile_fonts_font_formats (void) { scm_c_define_gsubr ("integer->font-format", 1, 0, 0, scm_integer_to_font_format); scm_c_define_gsubr ("font-format->integer", 1, 0, 0, scm_font_format_to_integer); }
void init_gram_keysym_fns (void *data) { scm_c_define_gsubr ("swallow-next-key", 0, 0, 0, gram_key_swallow_next); scm_c_define_gsubr ("kbd", 1, 0, 0, gram_keysym_construct); scm_c_define_gsubr ("unmodified", 1, 0, 0, gram_keysym_unmodified); scm_c_export ("swallow-next-key", "kbd", "unmodified", NULL); }
void init_image_type (void) { image_tag = scm_make_smob_type ("image", sizeof (struct image)); scm_set_smob_print (image_tag, print_image); scm_c_define_gsubr ("clear-image", 1, 0, 0, clear_image); scm_c_define_gsubr ("make-image", 3, 0, 0, make_image); }
VISIBLE void init_guile_internals_anchors (void) { scm_c_define_gsubr ("AnchorPointType->type-symbol", 1, 1, 0, scm_AnchorPointType_to_type_symbol); scm_c_define_gsubr ("type-symbol->AnchorPointType", 1, 1, 0, scm_type_symbol_to_AnchorPointType); scm_c_define_gsubr ("free-AnchorPoint-linked-list", 1, 0, 0, scm_free_AnchorPoint_linked_list); }
void init_cell_type (void) { cell_tag = scm_make_smob_type("cell", sizeof(struct cell)); scm_set_smob_mark(cell_tag, mark_cell); scm_set_smob_free(cell_tag, free_cell); scm_set_smob_print(cell_tag, print_cell); scm_c_define_gsubr("make-cell", 3, 0, 0, make_cell); scm_c_define_gsubr("set-cell", 2, 0, 0, set_cell); scm_c_define_gsubr("get-status", 1, 0, 0, get_status); }
static void depr_register_procs (void) { scm_c_define_gsubr("gtt-hello", 0, 0, 0, gtt_hello); scm_c_define_gsubr("gtt-show-journal", 1, 0, 0, show_journal); scm_c_define_gsubr("gtt-show-table", 1, 0, 0, show_table); scm_c_define_gsubr("gtt-show-invoice", 1, 0, 0, show_invoice); scm_c_define_gsubr("gtt-show-export", 1, 0, 0, show_export); }
void gucu_panel_init_special (void) { #if 0 scm_c_define_gsubr ("panel-above", 1, 0, 0, gucu_panel_above); scm_c_define_gsubr ("panel-below", 1, 0, 0, gucu_panel_below); scm_c_define_gsubr ("set-panel-userdata", 2, 0, 0, gucu_set_panel_userdata); scm_c_define_gsubr ("panel-userdata", 1, 0, 0, gucu_panel_userdata); #endif }
static void* register_functions (void* data) { scm_c_define_gsubr ("tortoise-reset", 0, 0, 0, &tortoise_reset); scm_c_define_gsubr ("tortoise-penup", 0, 0, 0, &tortoise_penup); scm_c_define_gsubr ("tortoise-pendown", 0, 0, 0, &tortoise_pendown); scm_c_define_gsubr ("tortoise-turn", 1, 0, 0, &tortoise_turn); scm_c_define_gsubr ("tortoise-move", 1, 0, 0, &tortoise_move); return NULL; }
void yacl_init_guile (void) { scm_c_define_gsubr ("yacl-sha256", 1, 0, 0, yacl_scm_sha256); scm_c_define_gsubr ("yacl-gen-p256-key-pair", 0, 0, 0, yacl_scm_gen_p256_key_pair); scm_c_define_gsubr ("yacl-p256-sign", 2, 0, 0, yacl_scm_p256_sign); scm_c_define_gsubr ("yacl-p256-verify", 3, 0, 0, yacl_scm_p256_verify); scm_c_define_gsubr ("yacl-get-random", 1, 0, 0, yacl_scm_get_random); scm_c_define_gsubr ("yacl-hexdump", 1, 0, 0, yacl_scm_hexdump); scm_c_define_gsubr ("yacl-hkdf-sha256", 1, 2, 0, yacl_scm_hkdf_sha256); scm_c_define_gsubr ("yacl-b64url-encode", 1, 0, 0, yacl_scm_b64url_encode); scm_c_define_gsubr ("yacl-b64url-decode", 1, 0, 0, yacl_scm_b64url_decode); scm_c_export ("yacl-sha256", "yacl-gen-p256-key-pair", "yacl-p256-sign", "yacl-p256-verify", "yacl-get-random", "yacl-hexdump", "yacl-hkdf-sha256", "yacl-b64url-encode", "yacl-b64url-decode", NULL); yacl_init (); }
void g_register_funcs(void) { /* general functions */ scm_c_define_gsubr ("quit", 0, 0, 0, g_quit); scm_c_define_gsubr ("exit", 0, 0, 0, g_quit); /* gsymcheckrc functions */ scm_c_define_gsubr ("gsymcheck-version", 1, 0, 0, g_rc_gsymcheck_version); }
void g_register_funcs(void) { /* general functions */ scm_c_define_gsubr ("quit", 0, 0, 0, g_quit); scm_c_define_gsubr ("exit", 0, 0, 0, g_quit); /* gsymcheckrc functions */ scm_c_define_gsubr ("gschlas-version", 1, 0, 0, g_rc_gschlas_version); scm_c_define_gsubr ("force-boundingbox", 1, 0, 0, g_rc_force_boundingbox); }
SWIG_GUILE_INIT_STATIC void SWIG_init(void) { SWIG_InitializeModule(0); SWIG_PropagateClientData(); scm_c_define_gsubr("My-variable", 0, 1, 0, (swig_guile_proc) _wrap_My_variable); scm_c_define_gsubr("fact", 1, 0, 0, (swig_guile_proc) _wrap_fact); scm_c_define_gsubr("mod", 2, 0, 0, (swig_guile_proc) _wrap_mod); scm_c_define_gsubr("get-time", 0, 0, 0, (swig_guile_proc) _wrap_get_time); }
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)); }
void Display::initGuile() { /* Functions */ scm_c_define_gsubr("init-graphics", 1, 0, 0, (SCM (*)()) scm_init_graphics); scm_c_define_gsubr("quit-graphics", 0, 0, 0, (SCM (*)()) scm_quit_graphics); scm_c_define_gsubr("update-graphics", 0, 0, 0, (SCM (*)()) scm_update_graphics); /* Smobs */ m_tImageTag = scm_make_smob_type ("image", sizeof(struct image)); scm_set_smob_mark(m_tImageTag, mark_image); scm_set_smob_free(m_tImageTag, free_image); scm_c_define_gsubr("load-image", 1, 0, 0, (SCM (*)()) scm_load_image); scm_c_define_gsubr("draw-image", 2, 0, 0, (SCM (*)()) scm_draw_image); }
void init_Segment2(void) { DB_PRINTF("\ninit_Segment2()\n\n"); tag_Segment2 = scm_make_smob_type("gtSegment2", sizeof(Segment2)); scm_set_smob_mark (tag_Segment2, mark_Segment2); scm_set_smob_free (tag_Segment2, free_Segment2); scm_set_smob_print(tag_Segment2, print_Segment2); scm_c_define_gsubr("gt-segment2?", 1, 0, 0, is_Segment2); scm_c_define_gsubr("gt-make-line2", 4, 0, 0, make_Segment2_line); scm_c_define_gsubr("gt-make-arc2", 6, 0, 0, make_Segment2_arc); }
void initialize_projectile() { PROJECTILES = make_list(); PROJECTILE_PROTOTYPES = make_hash_map(); __api_projectile_tag = scm_make_smob_type("projectile", sizeof(projectile)); scm_c_define_gsubr("build-projectile-prototype", 6, 0, 0, __api_build_projectile_prototype); scm_c_define_gsubr("make-projectile", 5, 0, 0, __api_make_projectile); scm_c_define_gsubr("spawn-projectile", 1, 0, 0, __api_spawn_projectile); load_all("script/projectiles"); }
void init_sample_type (void) { sample_tag = scm_make_smob_type ("Sample", sizeof (Sample)); scm_set_smob_mark (sample_tag, 0); scm_set_smob_free (sample_tag, free_sample); scm_set_smob_print (sample_tag, print_sample); scm_c_define_gsubr ("load-sample", 1, 0, 0, load_sample); scm_c_define_gsubr ("play-sample", 4, 0, 0, play_sample); scm_c_export ("load-sample", NULL); scm_c_export ("play-sample", NULL); }
static void guile_main(void* data, int argc, char** argv) { /* req, opt, rest */ scm_c_define_gsubr("musicpd-server-version", 0, 0, 0, wrap_musicpd_server_version); scm_c_define_gsubr("musicpd-playlist-add-path", 1, 0, 0, wrap_musicpd_playlist_add_path); scm_c_define_gsubr("musicpd-play", 0, 1, 0, wrap_musicpd_play); scm_c_define_gsubr("musicpd-prev", 0, 0, 0, wrap_musicpd_prev); scm_c_define_gsubr("musicpd-next", 0, 0, 0, wrap_musicpd_next); scm_c_define_gsubr("musicpd-pause", 0, 0, 0, wrap_musicpd_pause); scm_c_define_gsubr("musicpd-stop", 0, 0, 0, wrap_musicpd_stop); scm_c_define_gsubr("musicpd-lib-version", 0, 0, 0, wrap_musicpd_lib_version); scm_c_define_gsubr("musicpd-connected", 0, 0, 0, wrap_musicpd_connected); scm_c_define_gsubr("player-version", 0, 0, 0, wrap_player_version); /*scm_shell(argc,argv);*/ scm_shell(0,NULL); }
static void inner_main (void *data, int argc, char **argv) { /* * To intialize comm module one needs to call * guile_comm_module_init (). This function does not yet call * MPI_Init (). Instead it defines comm-init for the user to issue * * (comm-init (command-line)) * ... * (comm-finalize) * * in Scheme code. */ /* * Note that the names defined here are put into the private * namespace of (guile-user) module. If you want to call any of * these you may need to "steal" it from there by dereferencing them * as e.g. (@@ (guile-user) guile-comm-module-init). * * Calling this will define comm-* gsubrs: */ scm_c_define_gsubr ("guile-comm-module-init", 0, 0, 0, guile_comm_module_init); scm_shell (argc, argv); // never returns }
void init_scheduler(void) { event_tag = scm_make_smob_type("sched_event", sizeof(SCHED_EVENT)); queue = NULL; pool = NULL; gc_hit = 0; pthread_mutex_init(&qmutex, NULL); pthread_mutex_init(&pmutex, NULL); pthread_cond_init(&qcondvar, NULL); scm_c_define_gsubr("sched-at", 2, 1, 0, sched_at); scm_c_define_gsubr("sched-in", 2, 1, 0, sched_in); scm_c_define_gsubr("sched-cancel", 1, 0, 0, sched_cancel); scm_c_define_gsubr("sched-entry?", 1, 0, 0, sched_has_entry); scm_c_define_gsubr("sched-entry-time", 1, 0, 0, sched_entry_time); scm_spawn_thread(sched_thread, NULL, NULL, NULL); return; }
void init_stream_vorbis(void) { vorbis_stream_tag = scm_make_smob_type("vorbis_stream", sizeof(VORBIS_STREAM)); scm_set_smob_free(vorbis_stream_tag, free_vorbis); scm_c_define_gsubr("stream-vorbis", 4, 0, 1, open_vorbis_stream); log_msg("Ogg Vorbis version %s\n", vorbis_version_string()); return; }
static int mod_load_servlet(lua_State *l) { const char *path = luaL_checkstring(l, -1); SCM module = scm_c_define_module(path, NULL, NULL); SCM prev_module = scm_set_current_module(module); // TODO: don't define these functions every time for each servlet scm_c_define_gsubr("get_arg", 2, 0, 0, &api_get_arg); scm_c_define_gsubr("get_method", 1, 0, 0, &api_get_method); scm_c_define_gsubr("get_header", 2, 0, 0, &api_get_header); scm_c_define_gsubr("set_status", 2, 0, 0, &api_set_status); scm_c_define_gsubr("set_header", 3, 0, 0, &api_set_header); scm_c_define_gsubr("rwrite", 2, 0, 0, &api_rwrite); scm_c_define_gsubr("rflush", 1, 0, 0, &api_rflush); SCM foo = scm_c_primitive_load(path); SCM run_symbol = scm_c_lookup("run"); SCM run_ref = scm_variable_ref(run_symbol); scm_set_current_module(prev_module); lua_newtable(l); lua_pushlightuserdata(l, (void*)run_ref); lua_pushcclosure(l, servlet_run, 1); lua_setfield(l, -2, "run"); return 1; }
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; }
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(); }
void* bootstrap_main(void *v) { SCM th; (void)v; scm_c_define_gsubr("test-func", 0, 0, 0, test_func); th = scm_spawn_thread(scheme_environment, NULL, NULL, NULL); scm_join_thread(th); return NULL; }
/*! \brief Register all libgeda functions with scheme. * \par Function Description * Creates g_subr_t objects to make g_rc_* functions that are defined * in g_rc.c visible to Scheme. */ void g_register_libgeda_funcs (void) { struct gsubr_t *tmp = libgeda_funcs; while (tmp->name != NULL) { scm_c_define_gsubr (tmp->name, tmp->req, tmp->opt, tmp->rst, tmp->fnc); tmp++; } }
void init_alsa_module(void) { cards = NULL; alsa_card_tag = scm_make_smob_type("alsa_card", sizeof(SOURCE_HANDLE)); scm_c_define_gsubr("alsa-cards", 0, 0, 0, alsa_cards); scm_c_define_gsubr("alsa-card-open", 1, 0, 0, open_card); scm_c_define_gsubr("alsa-card-name", 1, 0, 0, alsa_card_name); scm_c_define_gsubr("alsa-card-close", 1, 0, 0, close_card_scm); scm_c_define_gsubr("alsa-card-close-all", 0, 0, 0, close_card_all); scm_c_define_gsubr("alsa-device-change", 1, 0, 0, device_change); scm_c_define_gsubr("capture-start", 1, 0, 0, capture_go); scm_c_define_gsubr("capture-stop", 1, 0, 0, capture_stop); log_msg("ALSA %s\n", SND_LIB_VERSION_STR); }