P. F. Chimento [Sun, 17 Apr 2011 10:19:33 +0000 (12:19 +0200)]
Updated Gargoyle extensions and documentation
Brought garglk.h to the latest revision of the Gargoyle extensions to
Glk - removed garglk_set_line_terminators(), added
garglk_set_story_title(), and updated the documentation.
P. F. Chimento [Sun, 17 Apr 2011 10:18:04 +0000 (12:18 +0200)]
Update Gargoyle interpreters to r548
Frotz was the only interpreter with changes.
P. F. Chimento [Thu, 14 Apr 2011 21:32:27 +0000 (23:32 +0200)]
Updated documentation to match API 0.7.2
The Glk API documentation in Chimara now matches the official
documentation, although not everything considered necessary by
Gtk-Doc is documented. Stubs added for new functions.
P. F. Chimento [Thu, 14 Apr 2011 21:30:40 +0000 (23:30 +0200)]
Update to new Glk 0.7.2 code
Andrew Plotkin released new versions of glk.h, gi_dispa.c, and gi_dispa.h.
P. F. Chimento [Thu, 14 Apr 2011 21:25:15 +0000 (23:25 +0200)]
Misc Garglk extensions documenting
P. F. Chimento [Thu, 14 Apr 2011 21:24:22 +0000 (23:24 +0200)]
Misc documentation fixes
P. F. Chimento [Tue, 5 Apr 2011 19:37:09 +0000 (21:37 +0200)]
Get rid of compile warning in error.c
P. F. Chimento [Sun, 13 Mar 2011 19:36:56 +0000 (20:36 +0100)]
Set CSS file from preferences dialog
Now you can set a custom CSS file from the preferences dialog and it
will be remembered across runs of the program.
P. F. Chimento [Sun, 13 Mar 2011 19:35:55 +0000 (20:35 +0100)]
Fix null pointer bug
Fixed a null pointer access in chimara_glk_set_css_from_file() when
passing NULL as the error parameter.
P. F. Chimento [Sun, 13 Mar 2011 14:55:21 +0000 (15:55 +0100)]
Deactivate CSS editor for now
We should have the CSS editor controls grayed out until they actually do
something.
Philip Chimento [Sun, 13 Mar 2011 00:02:22 +0000 (01:02 +0100)]
Move construction to glade file
Do as much construction as possible in the glade file, instead of in
hand-written code. Removed use of GtkFixed widget.
P. F. Chimento [Sat, 12 Mar 2011 10:54:07 +0000 (11:54 +0100)]
Finished preferred interpreters list
You can now select which interpreter should load which format by default,
in the last page of the preferences window.
P. F. Chimento [Thu, 10 Mar 2011 21:45:19 +0000 (22:45 +0100)]
List all available formats in dialog
P. F. Chimento [Thu, 10 Mar 2011 21:26:53 +0000 (22:26 +0100)]
Dynamically generate list of interpreters
P. F. Chimento [Thu, 10 Mar 2011 21:11:34 +0000 (22:11 +0100)]
Implemented display names for interpreters
In preferred interpreters preferences
P. F. Chimento [Thu, 10 Mar 2011 06:56:52 +0000 (07:56 +0100)]
Working on preferred interpreters
P. F. Chimento [Thu, 10 Mar 2011 05:59:01 +0000 (06:59 +0100)]
Load preferred interpreters from preferences
Not editable yet, but that's the next step.
P. F. Chimento [Wed, 9 Mar 2011 22:01:00 +0000 (23:01 +0100)]
Update ignore properties
P. F. Chimento [Wed, 9 Mar 2011 21:58:11 +0000 (22:58 +0100)]
Use better dictionary syntax in schema file
Dictionaries can actually be entered using Python syntax. This is much
clearer than how it was done before.
Philip Chimento [Mon, 7 Mar 2011 21:36:22 +0000 (22:36 +0100)]
Fix RPM building
There was more broken with RPM building than just the GSettings schemas,
now it's fixed.
Philip Chimento [Mon, 7 Mar 2011 21:34:37 +0000 (22:34 +0100)]
Fix GSettings schema install (fix #18)
Debian building should work now, I'll test more thoroughly shortly.
Philip Chimento [Sun, 6 Mar 2011 21:43:51 +0000 (22:43 +0100)]
Add preference for graphics file directory
You can now set a preference for the default directory in which to look
for graphics resource files for older Infocom games. Unfortnately, these
resource files still mysteriously don't work, but it's a start.
Philip Chimento [Tue, 1 Mar 2011 21:01:54 +0000 (22:01 +0100)]
Use callbacks of style editing buttons
Instead of using the GtkActions I removed in the last commit
Philip Chimento [Tue, 1 Mar 2011 20:52:32 +0000 (21:52 +0100)]
Removed style actions from preferences dialog
The style actions aren't needed anymore, we should use callbacks, and
the functionality doesn't work yet anyway.
Philip Chimento [Tue, 1 Mar 2011 20:51:33 +0000 (21:51 +0100)]
Added new preferences and settings
Added some new widgets to the preferences dialog and some settings to go
with them.
Philip Chimento [Mon, 28 Feb 2011 00:51:53 +0000 (01:51 +0100)]
Add a View/Toolbar setting
A good setting to demonstrate one-way binding is the View/Toolbar
setting. When the menu item is switched on or off, we want to update the
setting, but not the other way around. This is so that when you have
multiple windows, turning the toolbar off in one doesn't turn the
toolbar off in the others, but when you open a new window, the toolbar
is shown or hidden depending on the last choice you made.
Philip Chimento [Sun, 27 Feb 2011 12:09:56 +0000 (13:09 +0100)]
Create configuration directory
On startup, the player application now creates a configuration
directory, ~/.chimara. The preferences file is ~/.chimara/config, unless
there is a file chimara-config in the current directory, in which case
it will be overridden.
Philip Chimento [Sun, 27 Feb 2011 11:49:48 +0000 (12:49 +0100)]
Add 'state' settings; add last opened path setting
The settings file now discriminates between 'preferences' settings,
which the user sets from the preferences dialog, and 'state' settings,
which are things remembered by the program.
As an example state setting, the program now remembers the last path a
game was opened from, and automatically starts the file chooser in that
path when opening a game.
Philip Chimento [Sun, 27 Feb 2011 09:13:28 +0000 (10:13 +0100)]
Properly install gschema file
Use the official autoconf and makefile rules for installing the gschema
file.
Philip Chimento [Sat, 26 Feb 2011 16:15:35 +0000 (17:15 +0100)]
Introduce preferences file
We now use a GSettings object with a custom backend that writes to a
configuration file, ~/.chimara. Right now there is only one example
setting, "flep". It's easy to bind the setting to a property of another
GObject, like the "active" property of a checkbox.
Still need to check how other GLib applications install the settings
file properly in their Makefile.am, and how to work with a default
configuration file such as /etc/chimara if the one in the home directory
is not present.
Philip Chimento [Wed, 16 Feb 2011 23:58:32 +0000 (00:58 +0100)]
Use internationalization header for libraries
Use <glib/gi18n-lib.h> instead of <glib/gi18n.h>.
Philip Chimento [Wed, 16 Feb 2011 23:55:01 +0000 (00:55 +0100)]
Proper state of new hyperlinks' event handlers
Fixes #17. New hyperlinks' event handler callbacks were blocked by
default at creation, but they should be unblocked if there is currently
a hyperlink event request pending in the window.
Philip Chimento [Tue, 8 Feb 2011 00:14:10 +0000 (01:14 +0100)]
Proper use of AC_ARG_ENABLE
Inspired by Rob Bradford's http://www.robster.org.uk/blog/?p=134
Marijn van Vliet [Mon, 7 Feb 2011 14:55:37 +0000 (15:55 +0100)]
Fixing #15: handling newlines in textgrids
Philip Chimento [Sat, 5 Feb 2011 01:19:37 +0000 (02:19 +0100)]
Removed SVN ignore files and updated Git ones
Philip Chimento [Sat, 5 Feb 2011 01:18:37 +0000 (02:18 +0100)]
Fix bug in Frotz option parsing
The '-i' option was mistakenly instructed to swallow a value.
Philip Chimento [Sat, 5 Feb 2011 00:48:11 +0000 (01:48 +0100)]
Clean up external Blorb file finding code
Moved the code that looks for an external Blorb file to the player, so
the default path can become a setting in the preferences window. Also,
passing an extra file name on the command line when starting the player
also indicates an external resource file.
Philip Chimento [Fri, 4 Feb 2011 23:44:31 +0000 (00:44 +0100)]
Reinstated 'Open Recent' menu
And added a configure option, '--disable-recent' to skip it, in order to
work around the GTK Quartz bug on OS X that makes the player crash.
Philip Chimento [Fri, 4 Feb 2011 17:29:25 +0000 (18:29 +0100)]
Re-added toolbar with menu item to show or hide it
Philip Chimento [Fri, 4 Feb 2011 17:13:25 +0000 (18:13 +0100)]
Clean up action group code
Philip Chimento [Wed, 2 Feb 2011 23:16:27 +0000 (00:16 +0100)]
Fix program for GStreamer < 0.10.31
It seems that gst_is_initialized() wasn't added until version 0.10.31.
And it just so happens that Ubuntu 10.10 has 0.10.30, so compilation
was failing.
Philip Chimento [Mon, 31 Jan 2011 00:52:51 +0000 (01:52 +0100)]
Check for GStreamer plugins individually
In configure.ac, check for individual GStreamer plugins, instead of
requiring gstreamer-plugins-bad-0.10.pc. This is because Ubuntu doesn't
have a devel package for gstreamer-plugins-bad, and we don't actually
link against that library - we just dynamically open it.
P. F. Chimento [Sun, 30 Jan 2011 17:49:53 +0000 (18:49 +0100)]
Provide blorb file to interpreter on command line
Apparently both interpreters have the undocumented command line option
of providing an extra file name on the command line, which is the Blorb
resource file. We now take advantage of this.
P. F. Chimento [Sun, 30 Jan 2011 17:34:03 +0000 (18:34 +0100)]
Added hack for opening external Blorb file
However, something is preventing it from working with the old Infocom
games.
P. F. Chimento [Sun, 30 Jan 2011 16:40:26 +0000 (17:40 +0100)]
Added calls to set the preferred interpreter
The preferred interpreter can now be set in player/main.c by simply
changing one of the calls to chimara_if_set_preferred_interpreter().
P. F. Chimento [Sun, 30 Jan 2011 16:10:37 +0000 (17:10 +0100)]
Merge branch 'sound'
Conflicts:
tests/Makefile.am
P. F. Chimento [Sun, 30 Jan 2011 16:02:54 +0000 (17:02 +0100)]
Check for proper plugins in configure
Plugins from gstreamer-plugins-base and gstreamer-plugins-bad are
required for proper sound support.
P. F. Chimento [Sun, 30 Jan 2011 16:01:06 +0000 (17:01 +0100)]
Enabled MOD/S3M/IT/XM support
With this commit, sound support should be finished completely!
P. F. Chimento [Sun, 30 Jan 2011 15:41:28 +0000 (16:41 +0100)]
Merge branch 'master' of github.com:wmvanvliet/Chimara
Conflicts:
player/style.css
Marijn van Vliet [Sun, 30 Jan 2011 15:36:30 +0000 (16:36 +0100)]
Background color of windows now changes with garglk_set_reversevideo()
P. F. Chimento [Sun, 30 Jan 2011 15:24:05 +0000 (16:24 +0100)]
Implemented sound notification events
Sound notification events now work.
P. F. Chimento [Sun, 30 Jan 2011 15:05:35 +0000 (16:05 +0100)]
Fixed memory leak
P. F. Chimento [Sun, 30 Jan 2011 15:02:58 +0000 (16:02 +0100)]
Implement alternative resource loading for sound
Sound resources can now be loaded from an alternative location using the
ChimaraGlk resource loading callback. This is tested in the test
program.
Marijn van Vliet [Sun, 30 Jan 2011 14:44:50 +0000 (15:44 +0100)]
Overhauled the whole reverse video thing.
P. F. Chimento [Sun, 30 Jan 2011 14:24:40 +0000 (15:24 +0100)]
Added test case for various sound functions
P. F. Chimento [Sun, 30 Jan 2011 13:40:36 +0000 (14:40 +0100)]
Implemented sound repeats
Now you can request a sound to be played a certain number of times, or
to loop forever.
P. F. Chimento [Sun, 30 Jan 2011 13:17:47 +0000 (14:17 +0100)]
Implemented sound load hints
Sound load hints work, at least for Blorb resources.
P. F. Chimento [Sun, 30 Jan 2011 12:44:25 +0000 (13:44 +0100)]
Stop playing old sound when playing new sound
Sound playing now stops any previous sound already playing on that sound
channel.
P. F. Chimento [Sun, 30 Jan 2011 00:45:59 +0000 (01:45 +0100)]
Sound support working!
Sounds now play as they should.
P. F. Chimento [Sun, 30 Jan 2011 00:13:23 +0000 (01:13 +0100)]
Working on sound support
Playing sounds more than once now works, but not playing an AIFF sound
after an OGG sound or vice versa.
P. F. Chimento [Sun, 30 Jan 2011 00:00:24 +0000 (01:00 +0100)]
Work on sound support
Now supports playing AIFF and OGG sounds only once.
Marijn van Vliet [Sat, 29 Jan 2011 22:47:05 +0000 (23:47 +0100)]
Fixes for garglk_set_zcolors()
P. F. Chimento [Sat, 29 Jan 2011 21:59:47 +0000 (22:59 +0100)]
Change less-like behavior of pager
The behavior of the pager was based on the paging program 'less': the
enter key scrolls down one line (in GTK terms a 'step increment') and
the space bar scrolls down one page. People probably don't want to page
through interactive fiction one line at a time, and so expect the enter
key to scroll down a page. The enter key now does the same as a space
bar. To scroll line by line, use the mouse wheel or the scroll bar
arrows.
Marijn van Vliet [Sat, 29 Jan 2011 17:36:08 +0000 (18:36 +0100)]
Finished implementing garglk_set_zcolors()
P. F. Chimento [Sat, 29 Jan 2011 16:33:17 +0000 (17:33 +0100)]
Improved default styles
Defined the default styles so as to be as accommodating as possible to
the largest possible number of games. In particular, games that abuse
the "Header" style to print bold text.
Marijn van Vliet [Sat, 29 Jan 2011 16:04:08 +0000 (17:04 +0100)]
Merge branch 'master' of https://github.com/wmvanvliet/Chimara
Conflicts:
libchimara/garglk.c
Marijn van Vliet [Sat, 29 Jan 2011 16:02:04 +0000 (17:02 +0100)]
Began garglk_set_zcolors() implementation
P. F. Chimento [Sat, 29 Jan 2011 15:46:44 +0000 (16:46 +0100)]
Fixed pixbuf ref bug
Bug introduced by alternative resource loading.
P. F. Chimento [Sat, 29 Jan 2011 14:33:39 +0000 (15:33 +0100)]
Merge branch 'master' of github.com:wmvanvliet/Chimara
P. F. Chimento [Sat, 29 Jan 2011 14:31:35 +0000 (15:31 +0100)]
Updated interpreters
All bundled interpreters are now current with revision 496 of Gargoyle's
interpreters. Added new Gargoyle extension functions to garglk.c and
garglk.h.
Marijn van Vliet [Sat, 29 Jan 2011 13:46:04 +0000 (14:46 +0100)]
Merge branch 'master' of https://github.com/wmvanvliet/Chimara
Marijn van Vliet [Sat, 29 Jan 2011 13:43:55 +0000 (14:43 +0100)]
* Fixed garglk_set_reversevideo to use the new way styles are handled.
* GtkTextTags are no longer shared between GtkTextBuffers, as this
is not allowed.
Philip Chimento [Sat, 29 Jan 2011 12:38:52 +0000 (13:38 +0100)]
Working on sound
Philip Chimento [Wed, 19 Jan 2011 18:32:33 +0000 (19:32 +0100)]
Implemented sound playing with test sound
Implemented glk_schannel_play() and glk_schannel_stop() with a 440 Hz
sine wave as a test sound. This sound is played no matter what resource
number you pass to glk_schannel_play() and keeps going until you call
glk_schannel_stop().
P. F. Chimento [Sat, 15 Jan 2011 12:10:07 +0000 (13:10 +0100)]
Merge branch 'master' of github.com:wmvanvliet/Chimara
P. F. Chimento [Sat, 15 Jan 2011 12:09:08 +0000 (13:09 +0100)]
Get library to build on Debian stable
gio/gio.h isn't included by default in the old version of GLib that is
in the Debian stable distribution.
Philip Chimento [Tue, 11 Jan 2011 20:01:41 +0000 (15:01 -0500)]
Merge branch 'master' of github.com:wmvanvliet/Chimara
Philip Chimento [Tue, 11 Jan 2011 07:37:00 +0000 (02:37 -0500)]
Also trigger the "command" signal on char input
Character input should also trigger the ChimaraIF::command signal.
Marijn van Vliet [Sun, 9 Jan 2011 22:55:31 +0000 (23:55 +0100)]
Fixed issue when setting a 'proportional' style hint.
Philip Chimento [Wed, 5 Jan 2011 21:49:10 +0000 (16:49 -0500)]
Fix ref bug in plugin loader test
The Chimara widget should have a reference added to it.
Philip Chimento [Wed, 5 Jan 2011 21:55:52 +0000 (16:55 -0500)]
Implement glk_schannel_set_volume()
Implement setting volume on sound channels using the GStreamer "volume"
element.
Philip Chimento [Wed, 5 Jan 2011 21:54:34 +0000 (16:54 -0500)]
Add test plugin for sound functions
Add a test plugin, to be loaded with plugin-loader, for various testing
of sound functions.
Philip Chimento [Wed, 5 Jan 2011 21:49:10 +0000 (16:49 -0500)]
Fix ref bug in plugin loader test
The Chimara widget should have a reference added to it.
Philip Chimento [Wed, 5 Jan 2011 19:19:50 +0000 (14:19 -0500)]
Fix stylehint size bug
The "size" stylehint should use the GtkTextTag "scale" property, not
the "size" property - this way, the relative size is independent of the
default font size. The bug was that the "size" property should be given
in Pango units, not points, but now the "size" property isn't used at
all.
Philip Chimento [Wed, 5 Jan 2011 18:36:30 +0000 (13:36 -0500)]
Add test case for stylehint size bug
Setting a "size" stylehint on a style makes any text printed in that
style invisible. This is a test case for that bug.
Philip Chimento [Tue, 28 Dec 2010 17:04:58 +0000 (18:04 +0100)]
Fix #ifdefs
Philip Chimento [Tue, 28 Dec 2010 17:03:37 +0000 (18:03 +0100)]
Use gst_object_unref() instead of g_object_unref()
Philip Chimento [Tue, 28 Dec 2010 16:53:13 +0000 (17:53 +0100)]
Added guards for compiling without GStreamer
The GStreamer code should be protected everywhere with #ifdef's so that
the library will still build without GStreamer support.
Philip Chimento [Tue, 28 Dec 2010 16:32:15 +0000 (17:32 +0100)]
Improve error handling
Interrupt glk_schannel_create() and print warnings if GStreamer functions
fail
Philip Chimento [Tue, 28 Dec 2010 13:57:16 +0000 (14:57 +0100)]
Start work on sound capabilities
Compile with GStreamer libraries. Implement creation of Glk sound
channel objects containing GStreamer pipelines.
Philip Chimento [Tue, 28 Dec 2010 13:55:16 +0000 (14:55 +0100)]
Added test game for sound
Marijn van Vliet [Sun, 19 Dec 2010 10:58:46 +0000 (11:58 +0100)]
Fixed some default styling
Marijn van Vliet [Sat, 18 Dec 2010 23:44:27 +0000 (00:44 +0100)]
Fixed default font retrieval for windows. This caused a minor issue with
textgrid size calcuations.
P. F. Chimento [Tue, 23 Nov 2010 00:05:02 +0000 (01:05 +0100)]
Added _input_pending functions to docs
Added the chimara_glk_is_{line,char}_input_pending() functions to the
documentation.
P. F. Chimento [Tue, 23 Nov 2010 00:01:29 +0000 (01:01 +0100)]
Wrote chimara_glk_set_resource_load_callback()
Added a function for providing an alternate mechanism for loading
resources, as described in the Blorb specification, section 14. This
function allows the host program to specify a callback which the Glk
program will call when a resource is requested and no Blorb resource map
is loaded.
P. F. Chimento [Mon, 22 Nov 2010 23:50:26 +0000 (00:50 +0100)]
Fixed threading bug in graphics
flush_window_buffer() requests the GDK lock, but it was called with the
GDK lock already acquired in draw_image_common(). How this managed not
to freeze before, I don't know.
P. F. Chimento [Mon, 22 Nov 2010 22:14:19 +0000 (23:14 +0100)]
Fixed minor bug in glk_image_get_info()
P. F. Chimento [Mon, 22 Nov 2010 20:54:41 +0000 (21:54 +0100)]
Fix crash when loading resource without a map
The Glk program now fails gracefully when trying to load an image
resource without having loaded a resource map first: it prints a warning
and doesn't load the image, instead of crashing.
P. F. Chimento [Sun, 21 Nov 2010 01:04:52 +0000 (02:04 +0100)]
Added API to tell whether forced input is pending
Added the functions
chimara_glk_is_char_input_pending()
chimara_glk_is_line_input_pending()
P. F. Chimento [Sun, 21 Nov 2010 00:45:21 +0000 (01:45 +0100)]
Implemented interactive mode
The ChimaraGlk:interactive-mode property didn't do anything yet, but it
now disables paging when TRUE. When input scrolls off the screen, the
screen now scrolls down with it.