Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 5
0
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);
}
Ejemplo n.º 6
0
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);
}
Ejemplo n.º 8
0
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);
}
Ejemplo n.º 9
0
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);
	
}
Ejemplo n.º 10
0
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
}
Ejemplo n.º 11
0
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;
}
Ejemplo n.º 12
0
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 ();
}
Ejemplo n.º 13
0
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);

}
Ejemplo n.º 14
0
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);
}
Ejemplo n.º 15
0
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);
}
Ejemplo n.º 16
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));
}
Ejemplo n.º 17
0
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);
}
Ejemplo n.º 18
0
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);
}
Ejemplo n.º 19
0
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");
}
Ejemplo n.º 20
0
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);
}
Ejemplo n.º 21
0
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); 
}
Ejemplo n.º 22
0
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
}
Ejemplo n.º 23
0
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;
	}
Ejemplo n.º 24
0
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;
	}
Ejemplo n.º 25
0
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;
}
Ejemplo n.º 26
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;
	}
Ejemplo n.º 27
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();
}
Ejemplo n.º 28
0
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;
}
Ejemplo n.º 29
0
/*! \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++;
  }
  
}
Ejemplo n.º 30
0
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);
	}