Page 3 of 3
Re: Go Audio Lesson Tool
Posted: Fri Jul 16, 2010 1:28 am
by CarlJung
- Import an sgf.
- Close the program without saving changes.
- The file Current.Replay.gor has been created in the folder where you imported the sgf from. This is wrong for two reasons:
- It saves the file in a folder where I don't want it.
- It doesn't delete the file when the program is closed.
What I was really looking for was a way to break your sgf parser. But I couldn't. Good job

Re: Go Audio Lesson Tool
Posted: Fri Jul 16, 2010 2:24 am
by Li Kao
The differences between wms's format and my format are interesting.
In his format a node is a central concept, probably both on disk, and in memory.
Whereas in my case a node is pretty unimportant. A node is just a bookmark in the graphical representation. And my replay is inspired by starcraft replays and is a sequence of actions the user performed, and not a sequence of modifications to a sgf tree.
I'll have to think about the role of a node. It might be good to promote it to better interact with other programs and with sgf. But really promoting it requires changing the file and memory format to something similar to what wms uses.
Breaking the current SGF parser shouldn't be too hard. It doesn't know what a node is and translates the properties from left to right. So superfluous nodes are probably automatically combined. And strange ordering of properties inside a node might break it too. Teaching it about nodes is somewhere on my todo list.
Where to save logs, autosaves, etc is an interesting question. Using the working directory is stupid of course.
As a fan of portable apps I'd like to use the app directory or a subdirectory of it. But that causes problems for unprivileged users since they often have no write-access to the directory where the application is installed.
Since I hate programs which write the MyDocuments without permission I won't do that either.
So for non portable installs the user appdata directory is the correct choice probably. But how do I distinguish portable installations from non portable ones?
Re: Go Audio Lesson Tool
Posted: Fri Jul 16, 2010 2:59 am
by CarlJung
Li Kao wrote:So for non portable installs the user appdata directory is the correct choice probably. But how do I distinguish portable installations from non portable ones?
Good question. I don't know if there is a "proper" way. Perhaps one can hack something together with the types in the Environment.SpecialFolder namespace.
I believe if you just solve where to save temporary data on an unsaved project the portability aspect would sort of solve itself. It would be up to the user where to store the program and his projects.
Re: Go Audio Lesson Tool
Posted: Sat Jul 17, 2010 4:39 am
by Li Kao
Download Alpha 3* Added Navigation so you can now move around using the keyboard instead of clicking the game-tree
* Fade inactive variations
* Highlight current move and next moves on the board
* When playing an already played move again it doesn't create a new node
For now I'm saving temp files in the app directory but I'll need to change that later.
Re: Go Audio Lesson Tool
Posted: Tue Jul 20, 2010 3:46 pm
by wms
Li Kao wrote:The differences between wms's format and my format are interesting.
In his format a node is a central concept, probably both on disk, and in memory.
Whereas in my case a node is pretty unimportant. A node is just a bookmark in the graphical representation.
I have mixed feelings about nodes and SGF. I did it the way I did because (as you point out), if you want to interoperate cleanly with SGF, you need to care about nodes. But nodes can be a real pain in the neck sometimes, and just having a "stop here" bookmark (as you do) would make some things a lot easier. But whenever I think about leaving SGF behind, well, there's so much weight behind the SGF standard, and it works decently enough that it doesn't
need to be replaced, so I keep on using SGF (both in file formats, and as an in-program data representation).
Re: Go Audio Lesson Tool
Posted: Wed Jul 21, 2010 12:51 am
by Li Kao
The way I handle nodes has it's fair share of problems too. I recreate the whole tree after every change. And since I create a node where ever variations fork I create unneeded nodes when decorations(like labels) are added to a position which is not at the end of a variation.
One interesting effect of the way I handle nodes is that if I change the node creation logic playing a lesson displays a tree different from the one displayed when recording. But it only affects the tree and not what happens in the game itself.
And it doesn't lend itself to creating a sgf editor. So I'll probably end up with lossy sgf import/export.
Re: Go Audio Lesson Tool
Posted: Mon Jul 26, 2010 3:26 am
by koks9dan
Re: Go Audio Lesson Tool
Posted: Mon Jul 26, 2010 3:45 am
by Li Kao
Do you have .net 3.5 installed?
Perhaps even .net 3.5 SP1 is required, but I'm not sure about that.
Re: Go Audio Lesson Tool
Posted: Mon Jul 26, 2010 5:20 am
by Boywing
Li Kao wrote:So for non portable installs the user appdata directory is the correct choice probably. But how do I distinguish portable installations from non portable ones?
I'm not a Windows programmer but maybe you can have registry-script/installer that creates a Windows registry key. If that key exists you store data in the users appdata. If the registry key is missing then it is a portable app and the data is stored in a sub-directory in the applications directory.
Interesting project btw.
I look forward to a Linux or web port.

Re: Go Audio Lesson Tool
Posted: Mon Jul 26, 2010 1:39 pm
by Li Kao
Making it work on mono is on the todo list. But for that I need to search for a cross platform audio api that supports recording. And if it has no C# wrapper I need to do native interop :/
And I'd like to create a player only web version, but I don't like the legal risks associated with having a website which allows third party content. German courts can be pretty annoying.

Re: Go Audio Lesson Tool
Posted: Tue Jul 27, 2010 8:03 am
by koks9dan
Li Kao wrote:Do you have .net 3.5 installed?
Perhaps even .net 3.5 SP1 is required, but I'm not sure about that.
Thanks, I make it run successfully now that I installed .net 3.5 SP1. However, the audio recording doesnt seem to work. I barely hear my voice

Still very nice apps, I look forward to your future versions

Re: Go Audio Lesson Tool
Posted: Sat Sep 11, 2010 6:57 am
by Li Kao
New Version 4:
* Go to a move by clicking on the stone
* Some workflow changes when recording
* Speex preprocessing for higher audio quality
* A html5 webplayer. Works in Firefox, Iron and Opera.
Re: Go Audio Lesson Tool
Posted: Tue Sep 14, 2010 11:35 am
by govortex
Check this
http://www.govortex.org/go-audios/ and let me know what you think about it. I'm using a
experimental ZGo 2.1.0 version and for the moment you need some skills to make the audio lesson, but I think I can make it easier to use.
Re: Go Audio Lesson Tool
Posted: Wed Oct 13, 2010 9:21 am
by yithril
Is there a way to change the look of the board and stones?
Re: Go Audio Lesson Tool
Posted: Wed Oct 13, 2010 9:54 am
by Li Kao
Not yet in the client. The web-viewer on the other hand can be skinned with css.
Example of the webviewer(Works in Firefox, Opera and Chrome)