Philip Chimento [Sun, 12 Feb 2012 11:36:28 +0000 (12:36 +0100)]
Implement resource streams
Philip Chimento [Sat, 11 Feb 2012 22:26:03 +0000 (23:26 +0100)]
Add new resource stream unit test
From Andrew Plotkin's glk-dev repository
Philip Chimento [Sat, 11 Feb 2012 21:47:17 +0000 (22:47 +0100)]
Update to Blorb protocol 1.5
Update documentation of new Blorb constants
Philip Chimento [Sat, 11 Feb 2012 23:51:09 +0000 (00:51 +0100)]
Update Dispatch layer
Philip Chimento [Sat, 11 Feb 2012 14:20:35 +0000 (15:20 +0100)]
Update documentation to match Glk 0.7.4 spec
Philip Chimento [Sat, 11 Feb 2012 10:21:59 +0000 (11:21 +0100)]
Add stub functions for Glk 0.7.4 API
Technically, we implement the spec now by having the gestalt function
claim that the functions do nothing.
Philip Chimento [Sat, 11 Feb 2012 07:45:52 +0000 (08:45 +0100)]
Update header file and spec version number
Philip Chimento [Sun, 5 Feb 2012 16:14:50 +0000 (17:14 +0100)]
Prevent unnecessary regeneration of VAPI
Vapigen doesn't update the timestamp of the VAPI file when the
contents don't change; so when the GIR changes but the VAPI doesn't,
the dependency tracking got confused. This updates the timestamp
properly.
Philip Chimento [Sun, 5 Feb 2012 16:13:29 +0000 (17:13 +0100)]
Gtk-Doc 1.12 required for introspection
Philip Chimento [Sun, 5 Feb 2012 16:13:02 +0000 (17:13 +0100)]
Workaround for recent files bug no longer needed
Philip Chimento [Wed, 1 Feb 2012 22:13:36 +0000 (23:13 +0100)]
Added a Python player!
It crashes half the time because GObject Introspection isn't actually
officially supported with GTK 2. However, it's a simple player that
shows how to use Chimara in Python. We don't even have to write any
language bindings, thanks to the power of GObject Introspection! But
if we want to do anything serious with Python, we will need to port to
GTK 3 first.
It's a straight port of the C player, but it's 300 lines instead
of 1200 ;-)
Philip Chimento [Wed, 1 Feb 2012 22:09:35 +0000 (23:09 +0100)]
Add 'running' property to ChimaraGlk
Read-only property that does the same as chimara_glk_get_running();
properties work nicely in language bindings
Philip Chimento [Wed, 1 Feb 2012 21:06:05 +0000 (22:06 +0100)]
Identified two more entry points
This fixes an obscure bug! If you create your ChimaraGlk object
not with chimara_glk_new() but with g_object_new(), then the library
init function was not called. That caused a crash when trying to
access the thread-private data.
Philip Chimento [Wed, 18 Jan 2012 16:38:24 +0000 (17:38 +0100)]
Automatic generation of VAPI file
The bugs in vapigen seem to have been worked out.
Philip Chimento [Wed, 18 Jan 2012 16:18:51 +0000 (17:18 +0100)]
Bring documentation up to date with API 0.7.3
Philip Chimento [Wed, 18 Jan 2012 13:18:30 +0000 (14:18 +0100)]
Change implemented Glk spec to 0.7.3.
Philip Chimento [Wed, 18 Jan 2012 13:17:34 +0000 (14:17 +0100)]
Fix Gtk-Doc warnings
Philip Chimento [Wed, 18 Jan 2012 12:59:59 +0000 (13:59 +0100)]
Merge branch 'new-sound-api'
Conflicts:
docs/reference/chimara-docs.sgml
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.
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 *.
Philip Chimento [Tue, 29 Nov 2011 22:38:43 +0000 (23:38 +0100)]
Add GIR and typelib to ignore files
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.
Philip Chimento [Tue, 29 Nov 2011 22:31:55 +0000 (23:31 +0100)]
Added IDs to documentation chapters
At Gtk-Doc's suggestion
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.
Philip Chimento [Tue, 29 Nov 2011 22:18:16 +0000 (23:18 +0100)]
Add missing symbol to documentation
Marijn van Vliet [Thu, 3 Nov 2011 14:36:37 +0000 (15:36 +0100)]
Fix some memory leakage
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
Marijn van Vliet [Tue, 25 Oct 2011 14:08:56 +0000 (16:08 +0200)]
Fixed some omitted applications of default and glk-input tags
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.
Philip Chimento [Mon, 29 Aug 2011 03:52:27 +0000 (23:52 -0400)]
Clarify documentation
...of chimara_glk_stop() and chimara_glk_wait()
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
Philip Chimento [Sun, 28 Aug 2011 04:34:10 +0000 (06:34 +0200)]
Fixed crash in VALID_MAGIC with NULL object
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
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.
Philip Chimento [Sat, 23 Jul 2011 10:03:17 +0000 (12:03 +0200)]
Fix libraries for indirect linking
Philip Chimento [Sat, 16 Jul 2011 21:51:47 +0000 (23:51 +0200)]
Ported babeltest to libsoup
Philip Chimento [Sat, 16 Jul 2011 21:14:05 +0000 (23:14 +0200)]
Make sure PLUGINDIR is defined
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
Philip Chimento [Sat, 16 Jul 2011 19:40:43 +0000 (21:40 +0200)]
Now we can claim to implement the whole gestalt_Sound2 suite
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
Philip Chimento [Sat, 16 Jul 2011 19:18:45 +0000 (21:18 +0200)]
Implement volume change notifications
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
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
P. F. Chimento [Tue, 12 Jul 2011 19:24:51 +0000 (21:24 +0200)]
Implemented glk_schannel_play_multi()
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
Philip Chimento [Thu, 7 Jul 2011 22:11:50 +0000 (00:11 +0200)]
Took removed function out of docs
Philip Chimento [Thu, 7 Jul 2011 22:08:51 +0000 (00:08 +0200)]
Added draft docs for new functions and gestalt selectors
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
Philip Chimento [Thu, 7 Jul 2011 21:27:07 +0000 (23:27 +0200)]
Fix documentation typo
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.
Philip Chimento [Wed, 6 Jul 2011 20:59:58 +0000 (22:59 +0200)]
Fix semicolon typo in seeking code
Philip Chimento [Wed, 6 Jul 2011 20:59:58 +0000 (22:59 +0200)]
Fix semicolon typo in seeking code
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()
Philip Chimento [Wed, 6 Jul 2011 20:39:14 +0000 (22:39 +0200)]
Add new glk.h and dispatch code
P. F. Chimento [Mon, 4 Jul 2011 21:24:11 +0000 (23:24 +0200)]
Add stubs for new 0.7.3 draft API functions
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
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.
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>
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
Marijn van Vliet [Sun, 19 Jun 2011 10:20:51 +0000 (12:20 +0200)]
Working on babel/library support
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
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.
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.
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].
P. F. Chimento [Sat, 18 Jun 2011 19:19:02 +0000 (21:19 +0200)]
Add tests for fseek problem
P. F. Chimento [Sat, 18 Jun 2011 19:18:46 +0000 (21:18 +0200)]
Avoid const string allocation/free
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.
P. F. Chimento [Sat, 18 Jun 2011 19:16:26 +0000 (21:16 +0200)]
Eliminate warning in plugin-loader
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
P. F. Chimento [Sat, 18 Jun 2011 16:32:31 +0000 (18:32 +0200)]
Fixed documentation typo
Marijn van Vliet [Sat, 18 Jun 2011 16:44:45 +0000 (18:44 +0200)]
Nicer default color for textgrids
Marijn van Vliet [Sat, 18 Jun 2011 16:44:19 +0000 (18:44 +0200)]
Fixed #31
Marijn van Vliet [Sat, 18 Jun 2011 16:15:39 +0000 (18:15 +0200)]
Removed some debug output
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
Marijn van Vliet [Sat, 18 Jun 2011 16:12:14 +0000 (18:12 +0200)]
Fixed #20
P. F. Chimento [Sat, 18 Jun 2011 14:10:22 +0000 (16:10 +0200)]
Fix accelerator keys
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
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
P. F. Chimento [Sat, 18 Jun 2011 13:03:43 +0000 (15:03 +0200)]
Avoid code duplication
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.
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
Marijn van Vliet [Sat, 18 Jun 2011 09:30:05 +0000 (11:30 +0200)]
Progress in abolisching usage of font-desc in GtkTextTags.
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
P. F. Chimento [Mon, 13 Jun 2011 12:59:54 +0000 (14:59 +0200)]
Add non-generated Vala binding
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.
P. F. Chimento [Mon, 13 Jun 2011 12:18:17 +0000 (14:18 +0200)]
Add introspection annotations
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!
P. F. Chimento [Mon, 13 Jun 2011 11:50:21 +0000 (13:50 +0200)]
Update libtool invocation in configure
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
Marijn van Vliet [Sun, 5 Jun 2011 18:51:17 +0000 (20:51 +0200)]
Trying to apply correct styles when recalling history. See #32
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.
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.
P. F. Chimento [Wed, 4 May 2011 15:03:21 +0000 (17:03 +0200)]
Update Glulxercise unit tests
...to Andrew Plotkin's latest version
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.
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.
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.
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
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
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
P. F. Chimento [Tue, 26 Apr 2011 21:05:35 +0000 (23:05 +0200)]
Line terminators in text buffer windows