projects/chimara/chimara.git
12 years agoAdd API to start plugins using GFile
Philip Chimento [Sun, 1 Jan 2012 17:32:28 +0000 (18:32 +0100)]
Add API to start plugins using GFile

To complete the API, we should have functions that start a plugin using
GIO's GFile API. It's easier for navigating the filesystem in language
bindings such as Python.

12 years agoMake const char * string argument
Philip Chimento [Tue, 6 Dec 2011 21:27:44 +0000 (22:27 +0100)]
Make const char * string argument

In chimara_if_run_game(), the game file argument should be const char *.

12 years agoAdd GIR and typelib to ignore files
Philip Chimento [Tue, 29 Nov 2011 22:38:43 +0000 (23:38 +0100)]
Add GIR and typelib to ignore files

12 years agoAdd introspection glossary to documentation
Philip Chimento [Tue, 29 Nov 2011 22:35:13 +0000 (23:35 +0100)]
Add introspection glossary to documentation

So that Gtk-Doc doesn't complain about that either, and now the
introspection annotations in the docs have nice hover-over
explanations.

12 years agoAdded IDs to documentation chapters
Philip Chimento [Tue, 29 Nov 2011 22:31:55 +0000 (23:31 +0100)]
Added IDs to documentation chapters

At Gtk-Doc's suggestion

12 years agoAdd silent rule to documentation Makefile
Philip Chimento [Tue, 29 Nov 2011 22:20:58 +0000 (23:20 +0100)]
Add silent rule to documentation Makefile

Since newer versions of Gtk-Doc spew much less garbage onto the
terminal, this fixes the rule that generates selectors.xml to be
less verbose as well.

12 years agoAdd missing symbol to documentation
Philip Chimento [Tue, 29 Nov 2011 22:18:16 +0000 (23:18 +0100)]
Add missing symbol to documentation

13 years agoFix some memory leakage
Marijn van Vliet [Thu, 3 Nov 2011 14:36:37 +0000 (15:36 +0100)]
Fix some memory leakage

13 years agofixed get_current_font to actually do something now.
Marijn van Vliet [Thu, 3 Nov 2011 14:23:42 +0000 (15:23 +0100)]
fixed get_current_font to actually do something now.
Fixes #35

13 years agoFixed some omitted applications of default and glk-input tags
Marijn van Vliet [Tue, 25 Oct 2011 14:08:56 +0000 (16:08 +0200)]
Fixed some omitted applications of default and glk-input tags

13 years agoAdd API to unload plugin module
Philip Chimento [Fri, 2 Sep 2011 23:59:17 +0000 (01:59 +0200)]
Add API to unload plugin module

This is a workaround for a very complicated bug. When you have more than
one ChimaraGlk widget opening the same plugin, then g_module_open()
doesn't dlopen() the plugin again; instead, it just adds a reference to
the open module.

This means that all static variables in the module are not reinitialized
when the Glk program starts running in the second ChimaraGlk widget.

This problem needs to be solved either by eliminating the static
variables from the plugins, or making sure that different ChimaraGlk
widgets open their plugins separately.

This commit does the latter, by adding API to unload the plugin module
(chimara_glk_unload_plugin()) so that ChimaraGlk widgets that run the
same program but not at the same time have the option to unload the
plugin in one widget before loading it in the other. Specifically, this
is the use case of Inform 7.

This does not fix the use case where two separate ChimaraGlk widgets
want to run the same program at the same time.

13 years agoClarify documentation
Philip Chimento [Mon, 29 Aug 2011 03:52:27 +0000 (23:52 -0400)]
Clarify documentation

...of chimara_glk_stop() and chimara_glk_wait()

13 years agoTesting for Inform 7 bug #731
Philip Chimento [Mon, 29 Aug 2011 03:52:03 +0000 (23:52 -0400)]
Testing for Inform 7 bug #731

http://inform7.com/mantis/view.php?id=731

13 years agoFixed crash in VALID_MAGIC with NULL object
Philip Chimento [Sun, 28 Aug 2011 04:34:10 +0000 (06:34 +0200)]
Fixed crash in VALID_MAGIC with NULL object

13 years agoIncorporate fix for NULL memory streams
Philip Chimento [Sat, 27 Aug 2011 20:54:46 +0000 (16:54 -0400)]
Incorporate fix for NULL memory streams

From latest glk-dev and cheapglk. See the discussion on
http://www.intfiction.org/forum/viewtopic.php?f=38&t=3058

13 years agoCheck if image exists before caching it
P. F. Chimento [Thu, 4 Aug 2011 18:23:49 +0000 (20:23 +0200)]
Check if image exists before caching it

If a resource load callback returns an invalid file name, for example,
then the image operation should be aborted.

13 years agoFix libraries for indirect linking
Philip Chimento [Sat, 23 Jul 2011 10:03:17 +0000 (12:03 +0200)]
Fix libraries for indirect linking

13 years agoPorted babeltest to libsoup
Philip Chimento [Sat, 16 Jul 2011 21:51:47 +0000 (23:51 +0200)]
Ported babeltest to libsoup

13 years agoMake sure PLUGINDIR is defined
Philip Chimento [Sat, 16 Jul 2011 21:14:05 +0000 (23:14 +0200)]
Make sure PLUGINDIR is defined

13 years agoRemove deprecated usages
Philip Chimento [Sat, 16 Jul 2011 20:32:30 +0000 (22:32 +0200)]
Remove deprecated usages

But add #define's for compatibility on GTK < 2.18, so that it will still
compile on iLiad

13 years agoNow we can claim to implement the whole gestalt_Sound2 suite
Philip Chimento [Sat, 16 Jul 2011 19:40:43 +0000 (21:40 +0200)]
Now we can claim to implement the whole gestalt_Sound2 suite

13 years agoNew volume change interrupts old one
Philip Chimento [Sat, 16 Jul 2011 19:37:23 +0000 (21:37 +0200)]
New volume change interrupts old one

Also, add guards for compiling without GStreamer

13 years agoImplement volume change notifications
Philip Chimento [Sat, 16 Jul 2011 19:18:45 +0000 (21:18 +0200)]
Implement volume change notifications

13 years agoRe-implement gradual volume change using g_timeout_add()
Philip Chimento [Sat, 16 Jul 2011 19:14:14 +0000 (21:14 +0200)]
Re-implement gradual volume change using g_timeout_add()

Still to do: volume change notifications

13 years agoImplemented glk_schannel_set_volume_ext() partly
Philip Chimento [Wed, 13 Jul 2011 22:55:12 +0000 (00:55 +0200)]
Implemented glk_schannel_set_volume_ext() partly

Still need to do:
 - Volume change notifications
 - What happens when channel is not playing

13 years agoImplemented glk_schannel_play_multi()
P. F. Chimento [Tue, 12 Jul 2011 19:24:51 +0000 (21:24 +0200)]
Implemented glk_schannel_play_multi()

13 years agoAdd tests for new sound API
Philip Chimento [Fri, 8 Jul 2011 18:49:26 +0000 (20:49 +0200)]
Add tests for new sound API

Run them with plugin-loader .libs/soundtest.so

13 years agoTook removed function out of docs
Philip Chimento [Thu, 7 Jul 2011 22:11:50 +0000 (00:11 +0200)]
Took removed function out of docs

13 years agoAdded draft docs for new functions and gestalt selectors
Philip Chimento [Thu, 7 Jul 2011 22:08:51 +0000 (00:08 +0200)]
Added draft docs for new functions and gestalt selectors

13 years agoAdd gestalt_Sound2 selector
Philip Chimento [Thu, 7 Jul 2011 21:35:35 +0000 (23:35 +0200)]
Add gestalt_Sound2 selector

Returns 0 for now, since not all the new functions are supported

13 years agoFix documentation typo
Philip Chimento [Thu, 7 Jul 2011 21:27:07 +0000 (23:27 +0200)]
Fix documentation typo

13 years agoClarifications of pause/unpause
Philip Chimento [Thu, 7 Jul 2011 21:25:39 +0000 (23:25 +0200)]
Clarifications of pause/unpause

If you create a channel, then pause it, then play a sound in it, the
sound should only start as soon as you unpause the channel.

13 years agoFix semicolon typo in seeking code
Philip Chimento [Wed, 6 Jul 2011 20:59:58 +0000 (22:59 +0200)]
Fix semicolon typo in seeking code

13 years agoFix semicolon typo in seeking code
Philip Chimento [Wed, 6 Jul 2011 20:59:58 +0000 (22:59 +0200)]
Fix semicolon typo in seeking code

13 years agoStart implementing new sound API
Philip Chimento [Wed, 6 Jul 2011 20:57:15 +0000 (22:57 +0200)]
Start implementing new sound API

glk_schannel_create_ext()
glk_schannel_pause()
glk_schannel_unpause()

13 years agoAdd new glk.h and dispatch code
Philip Chimento [Wed, 6 Jul 2011 20:39:14 +0000 (22:39 +0200)]
Add new glk.h and dispatch code

13 years agoAdd stubs for new 0.7.3 draft API functions
P. F. Chimento [Mon, 4 Jul 2011 21:24:11 +0000 (23:24 +0200)]
Add stubs for new 0.7.3 draft API functions

13 years agoFinished babeltest, it now does all of the following:
Marijn van Vliet [Sun, 3 Jul 2011 10:16:51 +0000 (12:16 +0200)]
Finished babeltest, it now does all of the following:
1) Extact metadata from file using babel
2) If no metadata was found lookup IFID on IFDB
3) Parse ifiction record
4) Store in database

13 years agoCompleted babeltest. It now opens the library.bdf in the current directory (or create...
Marijn van Vliet [Sun, 19 Jun 2011 13:33:09 +0000 (15:33 +0200)]
Completed babeltest. It now opens the library.bdf in the current directory (or creates it) and adds the metadata (if any) of the given story to it. Then it dumps the contents of the library.

13 years agoBuild babel before the tests. Use <stdlib.h> instead of <malloc.h>
Marijn van Vliet [Sun, 19 Jun 2011 12:17:35 +0000 (14:17 +0200)]
Build babel before the tests. Use <stdlib.h> instead of <malloc.h>

13 years agoMerge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Sun, 19 Jun 2011 10:29:03 +0000 (12:29 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara

Conflicts:
libchimara/style.c

13 years agoWorking on babel/library support
Marijn van Vliet [Sun, 19 Jun 2011 10:20:51 +0000 (12:20 +0200)]
Working on babel/library support

13 years agoMerge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Sat, 18 Jun 2011 20:55:23 +0000 (22:55 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara

13 years agoWhen the cursor is not on the input prompt, return it there when the user start typin...
Marijn van Vliet [Sat, 18 Jun 2011 20:55:12 +0000 (22:55 +0200)]
When the cursor is not on the input prompt, return it there when the user start typing a command.

13 years agoKeep an EOF mark for memory streams
P. F. Chimento [Sat, 18 Jun 2011 20:45:11 +0000 (22:45 +0200)]
Keep an EOF mark for memory streams

Seeking to seekmode_End in a memory stream should move relative to
the last written position in the buffer, not the end of the memory
buffer. This brings the behavior of memory streams into line with
what would happen in a file stream.

Fixes #30.

13 years agoFix obscure C stdio bug
P. F. Chimento [Sat, 18 Jun 2011 19:59:33 +0000 (21:59 +0200)]
Fix obscure C stdio bug

You cannot switch between reading and writing a file stream without a
call to fseek() in between. This borrows Andrew Plotkin's solution of
keeping track of what the last operation was and switching if
necessary.

Fixes #34, together with [743391de].

13 years agoAdd tests for fseek problem
P. F. Chimento [Sat, 18 Jun 2011 19:19:02 +0000 (21:19 +0200)]
Add tests for fseek problem

13 years agoAvoid const string allocation/free
P. F. Chimento [Sat, 18 Jun 2011 19:18:46 +0000 (21:18 +0200)]
Avoid const string allocation/free

13 years agoC stdio trickery for read/write mode
P. F. Chimento [Sat, 18 Jun 2011 19:16:57 +0000 (21:16 +0200)]
C stdio trickery for read/write mode

As pointed out in the new version of the Glk spec, when opening a file
for appending, you cannot seek in it. We must open the file for
appending, to make sure it is created, then close it and reopen it
for read/writing.

Fixes part of #34.

13 years agoEliminate warning in plugin-loader
P. F. Chimento [Sat, 18 Jun 2011 19:16:26 +0000 (21:16 +0200)]
Eliminate warning in plugin-loader

13 years agoFix read count of glk_get_line_stream(_uni)
P. F. Chimento [Sat, 18 Jun 2011 16:51:57 +0000 (18:51 +0200)]
Fix read count of glk_get_line_stream(_uni)

Newline was not included in read count. Fixes #29

13 years agoFixed documentation typo
P. F. Chimento [Sat, 18 Jun 2011 16:32:31 +0000 (18:32 +0200)]
Fixed documentation typo

13 years agoNicer default color for textgrids
Marijn van Vliet [Sat, 18 Jun 2011 16:44:45 +0000 (18:44 +0200)]
Nicer default color for textgrids

13 years agoFixed #31
Marijn van Vliet [Sat, 18 Jun 2011 16:44:19 +0000 (18:44 +0200)]
Fixed #31

13 years agoRemoved some debug output
Marijn van Vliet [Sat, 18 Jun 2011 16:15:39 +0000 (18:15 +0200)]
Removed some debug output

13 years agoMerge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Sat, 18 Jun 2011 16:12:23 +0000 (18:12 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara

13 years agoFixed #20
Marijn van Vliet [Sat, 18 Jun 2011 16:12:14 +0000 (18:12 +0200)]
Fixed #20

13 years agoFix accelerator keys
P. F. Chimento [Sat, 18 Jun 2011 14:10:22 +0000 (16:10 +0200)]
Fix accelerator keys

13 years agoMerge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Sat, 18 Jun 2011 13:22:31 +0000 (15:22 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara

13 years agoFixed setting of proportional font in textgrids. Fixed text tag priorities, ticket #32
Marijn van Vliet [Sat, 18 Jun 2011 13:22:15 +0000 (15:22 +0200)]
Fixed setting of proportional font in textgrids. Fixed text tag priorities, ticket #32

13 years agoAvoid code duplication
P. F. Chimento [Sat, 18 Jun 2011 13:03:43 +0000 (15:03 +0200)]
Avoid code duplication

13 years agofixed glk_request_mouse_event to only generate one mouse event. When
Marijn van Vliet [Sat, 18 Jun 2011 10:22:57 +0000 (12:22 +0200)]
fixed glk_request_mouse_event to only generate one mouse event. When
another mouse event is desired, glk_request_mouse_event must be called
again.

13 years agoMerge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Sat, 18 Jun 2011 09:30:45 +0000 (11:30 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara

13 years agoProgress in abolisching usage of font-desc in GtkTextTags.
Marijn van Vliet [Sat, 18 Jun 2011 09:30:05 +0000 (11:30 +0200)]
Progress in abolisching usage of font-desc in GtkTextTags.

13 years agoDon't need to mkdir m4 anymore
P. F. Chimento [Mon, 13 Jun 2011 21:31:32 +0000 (23:31 +0200)]
Don't need to mkdir m4 anymore

...because it's now in git

13 years agoAdd non-generated Vala binding
P. F. Chimento [Mon, 13 Jun 2011 12:59:54 +0000 (14:59 +0200)]
Add non-generated Vala binding

13 years agoAdd destroy notify parameter...
P. F. Chimento [Mon, 13 Jun 2011 12:27:55 +0000 (14:27 +0200)]
Add destroy notify parameter...

...to resource load callback. This is for making APIs for programming
languages where resources are managed automatically.

13 years agoAdd introspection annotations
P. F. Chimento [Mon, 13 Jun 2011 12:18:17 +0000 (14:18 +0200)]
Add introspection annotations

13 years agoAdd introspection to build process
P. F. Chimento [Mon, 13 Jun 2011 12:17:28 +0000 (14:17 +0200)]
Add introspection to build process

So that the build generates a GObject Introspection Repository from
which we can automatically generate bindings for other programming
languages!

13 years agoUpdate libtool invocation in configure
P. F. Chimento [Mon, 13 Jun 2011 11:50:21 +0000 (13:50 +0200)]
Update libtool invocation in configure

13 years agoEnable automatic generation of .gitignore
P. F. Chimento [Wed, 8 Jun 2011 20:46:32 +0000 (22:46 +0200)]
Enable automatic generation of .gitignore

Using git.mk in toplevel dir

13 years agoTrying to apply correct styles when recalling history. See #32
Marijn van Vliet [Sun, 5 Jun 2011 18:51:17 +0000 (20:51 +0200)]
Trying to apply correct styles when recalling history. See #32

13 years agoFix (most) UniCaseTest failures (fix #27)
P. F. Chimento [Sat, 7 May 2011 22:18:58 +0000 (00:18 +0200)]
Fix (most) UniCaseTest failures (fix #27)

Upper- or lowercasing Unicode strings is not possible by mapping one
character to one character in each case, in contradiction of what the
GLib functions g_unichar_tolower() and g_unichar_toupper() would seem
to suggest. The casing operations now operate on the whole string.

Unfortunately, this introduces a new bug, #28, since there is no
title-casing function in GLib that allows for the title-case of a
character to be longer than one character.

13 years agoFix glulxercise / glk unit test failures (fix #26)
P. F. Chimento [Sat, 7 May 2011 21:18:40 +0000 (23:18 +0200)]
Fix glulxercise / glk unit test failures (fix #26)

In the "Glk" test in the Glulxercise suite, the evtype_None returned
from glk_select_poll() should have all its unused fields zeroed.

13 years agoUpdate Glulxercise unit tests
P. F. Chimento [Wed, 4 May 2011 15:03:21 +0000 (17:03 +0200)]
Update Glulxercise unit tests

...to Andrew Plotkin's latest version

13 years agoMake use of more Automake silent rules
P. F. Chimento [Sun, 1 May 2011 14:44:45 +0000 (16:44 +0200)]
Make use of more Automake silent rules

Add $(AM_V_GEN) to shut up Automake while generating some source
files.

13 years agoImplement line terminators for text grids
P. F. Chimento [Sun, 1 May 2011 14:37:11 +0000 (16:37 +0200)]
Implement line terminators for text grids

This completes the 0.7.2 Glk specification, closing #2.

13 years agoFixed grid line input bug introduced in [9f52ac]
P. F. Chimento [Sun, 1 May 2011 14:30:21 +0000 (16:30 +0200)]
Fixed grid line input bug introduced in [9f52ac]

The window buffer of a text grid must be flushed before line input
begins; line input replaces part of the text with a widget (GtkEntry)
so if the buffer is flushed during, then it overwrites the widget,
deleting it, and causing a crash.

13 years agoMerge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Wed, 27 Apr 2011 12:00:43 +0000 (14:00 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara

13 years agoAdded a useful dtrace script for listing all GLK calls made
Marijn van Vliet [Wed, 27 Apr 2011 11:59:50 +0000 (13:59 +0200)]
Added a useful dtrace script for listing all GLK calls made

13 years agoRefinement of line terminators
P. F. Chimento [Tue, 26 Apr 2011 21:30:03 +0000 (23:30 +0200)]
Refinement of line terminators

Handle line terminator key being pressed when cursor is in the middle
of the input line

13 years agoLine terminators in text buffer windows
P. F. Chimento [Tue, 26 Apr 2011 21:05:35 +0000 (23:05 +0200)]
Line terminators in text buffer windows

13 years agoFix bug in line input echoing
P. F. Chimento [Mon, 25 Apr 2011 19:05:35 +0000 (21:05 +0200)]
Fix bug in line input echoing

Line echo status wasn't changed when requesting unicode line input

13 years agoMinimum implementation of line terminators
P. F. Chimento [Mon, 25 Apr 2011 19:04:18 +0000 (21:04 +0200)]
Minimum implementation of line terminators

The function works, but no keys are allowed as line terminators. Prints
a warning when ignoring disallowed line terminators.

13 years agoUpdate docs for window borders
P. F. Chimento [Thu, 21 Apr 2011 10:55:30 +0000 (12:55 +0200)]
Update docs for window borders

13 years agoImplement border/noborder window flags
P. F. Chimento [Thu, 21 Apr 2011 10:13:03 +0000 (12:13 +0200)]
Implement border/noborder window flags

13 years agoDon't fail on unrecognized split method
P. F. Chimento [Thu, 21 Apr 2011 09:52:16 +0000 (11:52 +0200)]
Don't fail on unrecognized split method

If glk_window_open() gets unrecognized bits in the method argument, it
should give a warning instead of failing to create the window.

13 years agoTurn on window border in Glulxercise
P. F. Chimento [Wed, 20 Apr 2011 15:48:21 +0000 (17:48 +0200)]
Turn on window border in Glulxercise

To test the window border hints, window borders should be turned on
in Glulxercise.

13 years agoLine input echo won't affect current request
P. F. Chimento [Wed, 20 Apr 2011 15:36:03 +0000 (17:36 +0200)]
Line input echo won't affect current request

When turning line input echoing on or off, the window's currently
active line input request should be unaffected, according to the spec.

13 years agoImplement line input echoing
P. F. Chimento [Wed, 20 Apr 2011 15:22:38 +0000 (17:22 +0200)]
Implement line input echoing

13 years agoDistinguish input in Glulxercise
P. F. Chimento [Wed, 20 Apr 2011 15:22:00 +0000 (17:22 +0200)]
Distinguish input in Glulxercise

Make the input style blue in the Glulxercise tester

13 years agoAdd new Glk Unix extension from CheapGlk
P. F. Chimento [Wed, 20 Apr 2011 15:20:47 +0000 (17:20 +0200)]
Add new Glk Unix extension from CheapGlk

There is a new function glkunix_stream_open_pathname_gen() that
supersedes glkunix_stream_open_pathname().

13 years agoImplement unicode normalization
P. F. Chimento [Wed, 20 Apr 2011 11:57:10 +0000 (13:57 +0200)]
Implement unicode normalization

Unicode decomposition and normalization are now implemented.

13 years agoSimplify gestalt checking code
P. F. Chimento [Wed, 20 Apr 2011 11:15:31 +0000 (13:15 +0200)]
Simplify gestalt checking code

13 years agoImplemented date/time Glk functions
P. F. Chimento [Wed, 20 Apr 2011 11:12:15 +0000 (13:12 +0200)]
Implemented date/time Glk functions

Mostly copied from Andrew Plotkin's CheapGlk implementation; should
be converted to use GDateTime (more portable) when it is feasible to
use GLib 2.26 on many platforms.

13 years agoUpdated Glulxercise unit tests to latest
P. F. Chimento [Tue, 19 Apr 2011 21:18:23 +0000 (23:18 +0200)]
Updated Glulxercise unit tests to latest

Hmmm, not all of them pass.

13 years agoMove the gestalt_DateTime selector documentation
P. F. Chimento [Tue, 19 Apr 2011 16:32:08 +0000 (18:32 +0200)]
Move the gestalt_DateTime selector documentation

All the gestalt selectors should be documented in the same chapter.

13 years agoFix program listing
P. F. Chimento [Tue, 19 Apr 2011 16:26:29 +0000 (18:26 +0200)]
Fix program listing

13 years agoSimplify include comments
P. F. Chimento [Tue, 19 Apr 2011 16:05:37 +0000 (18:05 +0200)]
Simplify include comments

Put include comments in chimara-sections.txt so they apply to a whole
group of sections instead of typing out the include files in each
section individually.

13 years agoDocument all incomplete symbols
P. F. Chimento [Tue, 19 Apr 2011 15:49:52 +0000 (17:49 +0200)]
Document all incomplete symbols

Documentation is now fully complete!