AMIGIFT Documentation

Browsing /General Usage/Preferences Window


Here we'll try to explain all of the configuration options. Indeed there are lots of options but don't get desperate... the default options set by GiFTMui at the first run should meet most users use, meaning what is really required to be changed/added are the sharing roots and protocols/networks you wish to connect to. (but don't get confused, even if the default options are ok for you, you'll still need to use 'Save To Disk' on the daemon and plugins settings, for a first run you could use 'Save To Disk ALL' from the settings menu and all of them will be saved to disk automatically in one step.)

infoNote: Each configurable option (MUI Object) is build with a bubble-help with the meaning/description of the option, just keep the mouse quiet over the object where you want to obtain additional info and the help will pop-up automatically.


- Launch on startup

This option automatically launches the daemon on the label says, but this is no quite correct internally, on program startup what we try to do is a connection to the daemon port without matter if this option is enabled or no, if we are unable to connect to the daemon we'll then check the status of this option, if it's enabled the daemon will be automatically launched, else you'll be warned about the failed connection.

The connection attempt which is performed at startup is the same as if you manually click the Connect button, hence the same behavior about this option happens when you click the button yourself (e.g. disconnect -> connect).

Since the daemon could take some time to accept a connection (several seconds maybe) when launched by using this option, we'll not try to do a connection attempt each second or so but instead we'll benefit from the Message Ports functionality it has to send warnings and related messages to the GiFTMui's system port, we are talking about eg "protocol xyz succesfully loaded and initialized", once each of those messages are received a connection attempt to the daemon will be automatically performed, and so on until the connection is established. - If you are (or not) using the DAEMONWARNS tooltype do not matter here, since the message is received by GiFTMui as well just that it isn't notified, and as you may noticed there is a little bug... if you run the daemon in one machine and GiFTMui in other, in such case the auto-connections on this way will not work obviously, and you'll need to manually click the Connect button.

The options used to invoke the daemon process are below explained.

regwarnUnregistered users cannot de-select this option.

- Remove on exit

Using this option will cause the daemon to be shutdown when you exit from GiFTMui, if you are connected to the daemon at exit we'll remove it on a "sytem-friendly" way, else a break signal will be send to its process causing itself to be interrupted.

regwarn Unregistered users cannot de-select this option.


- Open Transfers Window

The tittle says all. - whenever you request a download, or multi-downloads, the transfers window will be automatically opened. it may take a few seconds to the download to be added to the list though, thats because we send the download request to the daemon and then the daemon have to send us reply about the download was accepted/queued.

- Cut long filenames

It is known that todays certain files has very long names, such files could cause problems on the daemon side at time it's reloaded, thats because the filename most likely be truncated by the filesystem causing the daemon to not recognize such file at startup...

Using this option will forbid filenames longer than 77 characters, being the file's extension guaratee to be keep, of course. Thats assuming you're using SFS to the incoming folder, which is required.

- Add all sources

This switch causes, when a download is requested, to scan the list of results looking for more sources to the file about to be downloaded, only upto max sources will be added.   This option can be controlled from the main window results context-menu


- Clear on new searches

When Multi-Lists aren't being used, this causes the list of results to be cleared upon new searches.

- Format bytes

Using this switch will cause sizes in byte notation to something else more human readable. (e.g.: "102547889" -> "102.5Mb")   This option can be controlled from the main window results context-menu

- Use Multi-Lists

Using this option multiple searches at once are possible, being a new listview opened for each of them.

regwarnThis option is available for registered users only


- Confirm

When you try to quit GiFTMui you'll be asked for confirmation when this switch is enabled.

- Save settings

This option causes the MUI settings (ENVARC:MUI/GIFTMUI.cfg) to be saved to disk upon exit.

- Close first sub-lists

While working on Multi-Lists mode, using this switch will cause the active listview to be removed when you click the window's close-gadget.


- Socket Activity

When this switch is enabled a new window will show up, where a trace of the negotation server <-> client are shown. (for debugging purposes).


- Stats Interval

Specifies the interval time used to request statistics to the daemon, the daemon will reply us with the number of users and files currently available on each network, and the amount of GB being shared on it. This info is then computed and show on the main window title-bar, for details open the stats window.

- Max Sources

This slider controls the maximum number of sources to be added at once when requesting a new download, and when add all sources is being used.

- StandBy-Mode

This isn't currently being used. This mode was used on previous versions to keep the gui waiting while the daemon is busy rehashing your shares, todays such task is launched from a sub-process making this no longer needed. (The code has been keep for now though, if may become useful for some other purpose)


The History is where we keep track of files we have downloaded or uploaded, you can access to it from the windows menu.
- Save On Exit

Causes the History to be saved upon exit.

- Save On New Entry

Causes the History to be saved upon new download or upload.

- FormatDate String

DateStamp formatting string to be used altogether with the file downloaded or uploaded. Its template is equal as for the FormatDate AmigaOS function, common codes (a few ones) are the following:
%c - same as "%a %b %d %H:%M:%S %Y"
%d - day number with leading 0s
%m - month number with leading 0s
%Y - year using four digits with leading 0s
%H - hour using 24-hour style with leading 0s
%M - the number of minutes with leading 0s
%S - number of seconds with leadings 0s
For full details check the Amiga's AutoDocs


- Block all requester

Sometimes certain requesters may come up when you are not in front of your computer, you can enable this switch to avoid them from blocking GiFTMui...

- Do not handle timeouts

Instead of blocking all requesters, a timeout value can define when the requesters are automatically cancelled. When this switch is enabled timeout handling for requester are deactivated.

- Timeout

The timeout value to wait to requesters to be automatically cancelled.


- Check TCP/IP Interface

Sometimes your internet connection may goes down without apparent notice to programs, such programs could then get blocked while resolving hostnames (usage of gethostbyname() function), to avoid such behavior from GiFTMui you can define here your internet interface, which will be checked before any socket-operation is about to be performed. Currently only Miami and Genesis TCP/IP Stacks are supported.


Events are a group of settings giving you the chance to execute certain action(s) when something happens...

Brief explanation of the gagdet array: The checkbox controls whether you want something to happen when the named event occurs. The adjacent string gadget contains the sound sample you want to have played. It can be in any audio format you have a datatype for. The small gadget in the middle (the one showing two speaker boxes) gives you a playback of the chosen sound. The string gadget on the right side takes up a Shell/ARexx command you may want to have executed when the event occurs. The type of command is adjusted with the toggle gadget next to it.


Those settings allows you to play/display files right after the download is finished. This is the section where the matching player software for several filetypes is set. You can disable or enable all players at once by using the top-group CheckMark.

Filetypes are recognized based on their MIME type, which is determined by looking at the name extension of the downloaded file. (additionally, amigift is internally able to detect wrong file-extensions for common types (eg jpeg, gif, or mp3) by reading the header of the downloaded file, and warning you then if the file extension does not mach the guessed (real) filetype)

The individual checkboxes in each line control the support for the MIME type named in that line. The list begins with the most common MIME types, as show on the following table:

Format MIME type
MPEG video/mp#?
AVI/MOV video#?
MP3 audio/mp#?
OGG audio#?
Images image#?
Unknown all the rest

The handling of players are launched checking the mime types on the above order, so that if the file isn't in MPEG format (match against video/mp#?) we'll check next if it's some kind of video, meaning the player for AVI/MOV could really launch any type of video other than MPEG, same for audio types.

The next ten lines allow you to enter other filetypes you want to have identified and handled by the appropriate player. The string gadget on the left side takes up the extension (PDF, HTML or whatever), Note these player have priority over the above ones, meaning if you define a player for ".jpg" it will be launched instead the general player for Images.   The player programs either have to be in your DOS search path or have to be given with their full path to be found. The gadgets on the right side launch the entered program. A requester will open, asking you for a file that reflects the filetype in question. This way, you can check whether the chosen player is able to handle that sort of files.

infoNote: Make sure the player you choose is apropiate to be launched within GiFTMui... first, by checking if it works launching it from a shell, and then testing it from the preferences (right side button). Note also where the player is about to accept a filename from its command line should be replaced by %f (printf formatting style) which GiFTMui will use to place the file to be played.


Sounds settings are similar to Events, they gets played on certain actions. The handling is identical. The checkboxes control whether a notification should take place in that situation or not, the string gadget contains the sound file, the gadget on the right edge tests if the sound is audible.


Locators are processes with the only job of locate more sources for your downloads, in a way that they don't stop downloading... Locators creates a new socket connection with the daemon, it send the locate request and waits for results (it's just like performing a normal search using the realm 'hash'), of course everything is handled automatically in the background, so that you can continue using GiFTMui without problems at all. Follow are the description for the settings:
- Launch Automatically

Locators will be automatically launched once a download reaches Zero sources.

- Handle Queue

When Locators are launched automatically, there could be the case where several of them are launched very quicly causing only the first instance to take effect - by that reason, from GiFTMui 2.0 (build #148) the avility to add them in a queue have been added, so that if e.g. you have 20 downloads and all of them reaches Zero sources, while locators are enabled, only the first request is handled in real-time being the rest queued to be automatically launched as well on timeout or end of results for the running instance.

- Allow multiples

This option is currently unavailable...

- Timeout

Specifies the maximum time-life a Locator is keep running.

- Inspector

The Inspector is an automated way of launching Locators, if it's Activated it will be launched given the interval value and it will check your list of downloads, unless Check all is enabled it will launch a Locator for transfers without sources, else (when Check all is enabled) it will launch a Locator for all of your downloads. - If you want to abort a running Inspector you'll have to "re-launch" it from the Network menu.

regwarnLocators are available for registered users only!


Downloads Checker - if actived, when you try to download a file, the given path(s) will be scanned for identical files to ensure that you have not already downloaded it before. Paths are either added by entering them into in the string gadget below the list or choosing them via file requester. A path can be removed from the list by doubleclicking the entry.

- Activated

Switches the downloads checker on or off.

- Recursive

When checked, sub-directories of the given paths will be scanned as well.


The chat is just a little IRC implemetation which connects to the freenode network and its channel #AmiGiFT.

See it, try it, love it! ;-)
- Connect to the chat

Controls whether a connection to the chat is established or not.

regwarnUnregistered users cannot de-select this option.

- Username & password

If you are a registered user of the freenode network you can enter here your details, and if you are not please enter at least your nick on the Username field!

- Channel logger

The checkbox controls whether the contents of your chat session will be logged or not. If you choose to log it, you can enter the path of the log file to be used to log entries to.

- Sound Events

Similar to the "Events" and "Sounds" pages, you can give some sound effects to be played on various occasions. The handling is identical. The checkboxes control whether a notification should take place in that situation or not, the string gadget contains the sound file, the gadget on the right edge plays the sound in a way to test if it's audible.


The following options are directly related to socket operations, being just a brief description used, if you want to know more in detail you should take a look at the bsdsocket.library docs, which are available here. - Note that some of the following options may are useless for normal use, but added for debugging/test purposes.

- Modes


Control whenever non-blocking I/O should be used.

infoNote: Having FIONBIO enabled is normally a good idea, considering socket events and MUI stuff is handled from the same Task, meaning if you do not use it you may could notice certain slow down from the mui side at time of reaching user inputs...


Control whenever asynchronous I/O should be used.

infoNote: There are know issues from most of our TCP/IP Stacks at time of handling asynchronous sockets with multiple connections at a time, our tests reveal that only MiamiDx does not have (apparent) problems from using it... it could be our fault, of course.. but it's clear this mode does not work on the same way from the various stacks we have...

- Options

- Send Queue

Using this option, packets to be sent to the daemon are queued if they are about to be sent very quickly so that the connection does not get congestioned... as for fionbio, this option is recommended to be keep enabled - it also avoid sending duplicated packets (eg STATS requests)

- Keep Alive

keep connections alive, enables the periodic transmission of messages on a connected socket.

- No Delay

This option disables the Nagle buffering algorithm when it's enabled, causing packets to be sent between server <-> client without delay... This should increment perfomance on certain cases, however it is mainly when small amount of data have to be sent as it increased bandwidth usage...

- Low Delay

This option is used to minimize delays on interactive traffic...whenever applycable...

- Fine Tuning


buffer size for input


buffer size for output


minimum count for input


minimum count for output


timeout value for input


timeout value for output



- User Interface Connections

This is the hostname and port number the daemon is listen on to accept connections, This should normally be you local machine (IP address, being 1213 the default port number - Unless you have a special need to use a non-standard port, just accept the default.

- Allowed Connections

Space separated list of hosts to allow connection to the daemon (running default on port 1213). This protocol is used to the communication between daemon and client, and could be considered a security risk if you allow external connections.

The following special keywords are supported:

Bitwidth fields are optional


Command Line Options are options which are passed to giftd by either at the command line prompt (obviously) or as SystemTags()'s attributes. options follow explained:

- Disable Logging

giftd logs several different actions to the logfile amigift:daemon/giftd.log (mainly for debugging purposes), enabling this option will cause such log not to be generated.

- AsyncIO buffer

As above stated, from version 2.0 downloads are saved to disk by using asyncio.library, here you can define the write buffer (in bytes!) this library will use.

infoNote: That buffer size will be used for each of your downloads, meaning if you define here 1000000 and you has 10 active downloads, it will require then 10MB of free RAM.

- Enable Console Output

This option will let you be able to read interactively the contents of the amigift:daemon/giftd.log logfile in a console (eg CON:) window at your Workbench (or public screen).

If you enable the switch you'll have to provide a console window as well (no default one is available..), also, this option has no effect if logging is disabled.

- Priority

Here you can define at which priority do you want the daemon to be run.

daemon download paths

- Incoming

Directory to store transfers while they are being operated on (downloaded). Temporary state files are also kept here. It is recommended, but not required, that the incoming and completed directories are on the same partition (drive), as above stated.

- Completed

Directory which will contain files after they have successfully finished downloading.


- Shares

List of fully qualified paths you wish to share. These directories will be recursed at giftd's startup and the files contained within will be subjected to an MD5 hashing. The results will be cached and will only be recalculated on a per share basis when the size or modification time in the cache and on disk disagree, or the file name is changed.

Sanity notice: Do NOT share source directories! Remote nodes will refuse to index your shares if you are attempting to submit more than 64000 files. - Also note that under lower powered machines high amount of files being shared (files, not MBs) could result on lost of connections due the time it could take them to be readed from disk and submitted.

Security notice: Do not share directories which may contain sensitive information, such as ENVARC: or S:. - Also note that any directories shared here will be stripped of all but the last path element when sub-mitted to other nodes for indexing, effectively "hiding" the directory prefix.

- Hidden extensions

Space-separated list of extensions whose files will not be shared.

- Resync Interval

Controls when giFT periodically rescans your shared directories for any changes (new files, missing files, changed files, etc.) and communicates those changes to the underlying protocols. This parameter specifies how often (in seconds) you want that to happen.

For your reference:

- Max Uploads per user

Maximum amount of uploads allowed from the same user at any given time. It is recommended that you keep this at 1 in order to prevent users from unfairly queueing your connection.

- Max Uploads simultaneous

Maximum amount of simultaneous uploads allowed. Setting this to -1 will cause giftd to not limit outgoing transfers. 0 effectively disables sharing.

- Hide dot files

Determines whether or not to hide directories which contain a leading dot. These directories are commonly meant to be "hidden" and thus should not be submitted to the network.

- Share Completed

Controls whether or not giftd should automatically share files that you have finished downloading. This feature significantly improves the networks abudance of files and helps ease the load on those sharing popular files. It's a Good Thing (TM), please leave it on.

- Ignore incoming

Determines whether or not your incoming folder should be shared as well. Normally you should keep this option un-selected...

- Shares Hidden

Controls whether or not your list of shares shouldn't be transmitted to the supernodes (meaning, as a temporal way).


- Down/up-stream bandwidth

Bandwidth throttling allows AMIGIFT to have some basic control over your bandwidth usage. This code operates in user space, and as a result can not guarantee perfect accuracy. If you wish to enable use this feature, please consider using a more reliable kernel space option first....

The configuration sliders control the maximum number of bytes per second allowed for the given stream direction. A setting of 0 ('unlimited') will disable throttling for that direction.

- Reports

This option tells the daemon when it should send transfers progress back to GiFTMui, under slower systems, it is not recommended to use a lower value than 2 seconds to avoid overhead... The minimum value for uploads could be even higher, and recommended.

Change Slip controls at which interval should the daemon report transfers progress when there is no data transfered, so that the GiFTMui's listview gets refreshed. Also, this is the value interval which states when the #?.state files need to be written/updated back to disk.


From this page you can select at which p2p networks do you want to connect to.



- Class Type

Node classification. This value is very important and will determine your role on the network.

The following settings are allowed:

At time of this write, AMIGIFT only supports USER node types, hence you must not change this value, same applyes to the Class Allow value, whose default value of 3 must be keep.

- Default Port

Core listening port. OpenFT uses a compacted binary protocol for the core communication with other nodes. If this machine is unable to provide both port and http_port to the outside directly (blocked by either by a firewall or a NAT setup) you should select 0 here.

NOTE: If you are unable to route this port (along with the HTTP port) you will be unable to download from other users with that same inability. You will, however, maintain the ability to upload to other non-firewalled users. Selecting non-zero when the port is not available to the outside will cause very broken behavior, namely search results will be extremely unreliable.

- HTTP Server Port

OpenFT's implementation also makes use of HTTP for all file transfers. See above for more details. Please provide a valid port here regardless of your firewall state.

- Alias

Arbitrary name you'd like to associate with your node. This field is optional and it is NOT to be trusted. The name is not unique to the network. Please do not choose useless aliases.

- Max Active Connections

Maximum number of "active" nodes that are allowed connection at any given time. The default value (-1) is used to calculate a suitable value for most search nodes based on their current max child configuration and other parameters. If you wish to take on additional connections, please note that you must set your maximum file descriptor limit accordingly (provided that the internal setrlimit() call is unable to sufficiently increase your current limits). Consult your shell's manual regarding ulimits for more details.

- LAN Mode

OpenFT offers a special configuration for users who wish to operate a network from within a local area network (LAN). This mode causes giFT to reject authorization from any non-local address as well as advertising it's presence via the local UDP broadcast. If this switch is non-zero you will not be able to contact the main network.

- Host Allow

When LAN mode is enabled, this configuration switch is used to verify which hosts are allowed connection to the core OpenFT port. It is highly recommended that you just don't touch this, regardless of what lan_mode's value is.

NOTE: This switch provides a very crude loophole that could allow you to create a "private" OpenFT network between a list of known nodes. Using this "feature" is going to be quite cumbersome as it is intended to be used by developers only. You have been warned.


The first group of settings (Childrens, DBPath, and Cache Size) are used while operating as a Node Class other than USER, Since (at time of this write) AMIGIFT only supports USER nodes, you shouldn't bother about those settings.

The rest of options from this page are considered for developers/testings purposes and/or undocumented, and therefore you should not change them. - However, if you are in need of fine tunning OpenFT please ask on our mailing-list for further info.



- Port

Which port the Gnutella plugin uses. The default for the Gnutella network is normally 6346, but it is random for this plugin in order not to interfere with other Gnutella clients.

Unlike OpenFT, the Gnutella plugin uses a single port for both HTTP and protocol communication. Similar to OpenFT, this port must be reachable from the outside Internet if you want to download from firewalled users. Download and search result performance is much better when this port is reachable, as quite a fair number of hosts on the Gnutella network are firewalled.

- Class

Class type Gnutella should operate as - this is an internal/undocumented option as you should not change it if you don't know what you are doing...

- Connections

Number of connections we maintain while working as the different operational modes... This is an internal/undocumented option as you should not change it if you don't know what you are doing...

- Max Nodes

Maximum number of nodes we normally maintain...

- Proxy

Should the Gnutella plugin use an HTTP proxy server?

The Gnutella plugin will contact some websites over HTTP for finding an initial list of nodes. If you need to go through a proxy server to access websites, the plugin will fail to connect to the Gnutella network unless you fill in your proxy server here.

This field can be formatted as hostname:port, with an optional 'http://' prefix and optional trailing slash. For example, and are valid.

Most people can probably leave this blank.


Those options enables the various debug capabilities of the plugin,
if you need further info please ask on our mailing-list.


- Local

Those options controls whenever you want the plugin to operate from within a local area network (LAN), as previously explained to the OpenFT network.

- Handshake

Handshake timeouts are internal values keep configurable for testing purposes, you shouldn't need to change the default values.

- Transfer push max in limbo

This is another internal/undocumented option.

- Max (per user) Uploads

And another internal option made available for amigift, with this one you can define how many uploads per user are allowed, regarless of the giftd's global setting...


- Log Results

Enable all to print information about each search performed to the log file, and/or enable packets to print a line for each result packet generated to the log file. This line includes just the number of results in each packet.

- Hops As Meta

Whether to attach the number of hops each result travelled as a metadata field "Hops". Interesting to see but probably not too useful for the average user, and so disabled by default.

- Packet ascii logfile

Output to log ASCII Packets.

- Node List

How many connections attempts each maintain loop for nodes previously registered.

- Node Cache

How many connection attempts for nodes in the pong cache.



- Username

Your username. FastTrack will not allow access to the network without a username. The username is not unique on the network and is not to be trusted. The username must not contain whitespaces!

- Port

The port FastTrack will listen on for incoming connections. Both TCP and UDP.

- Forwarding

If you are behind a NAT and you are forwarding the above port you have to enable this i.e. you forward outside_ip:port -> inside_ip:port outside_ip and inside_ip are determined automatically. Do not enable this if you are not forwarding.

- Allow Sharing

If enabled FastTrack will share files as configured with giftd. If disabled files will never be shared on FastTrack even if giftd shares on other networks.

- Banlist Filter

If enabled FastTrack will filter out all search results which come from ips matching the ranges specified in the file AMIGIFT:daemon/FastTrack/banlist

- Auto Search More

If Enabled FastTrack will automatically search again after a search has completed.



- Username

Your username on the network. Ares seems to make some effort to uniqify these, so you may not get exactly what you request. Leaving this blank will get you an anon_xxxxxxxx username.

- Port

TCP port to listen on. Be sure to forward this if you're behind a firewall or NAT.

- Sessions

Number of supernodes to connect to. Be sensible, please.

- Timeout

Timeout in seconds from the time the search was sent to the first supernode. After the search has timed out all further results will be ignored.

If you are using a 3rd party plugin (a plugin developed by a entity outside the AMIGIFT Project Team) it is something from that plugin's author to provide the proper documentation. If that particular plugin has configuration options, those must be provided by using a MCC (MUI Custom Class) which GiFTMui should be able to load from the plugins folder (refer to the development section for further info). If no configuration options are provided, or if there is a problem with the MCC, you'll see the following message:


Once you made modifications to the daemon and/or plugin settings you have to use 'Save To Disk' button, that's required due else the daemon will not be aware of the changes, if you forgot it, you'll be prompted with the following requester:


In the other hand, the usage of Read From Disk is just to avoid mistakes by de-sync situations, and you shouldn't need to use it if you do not edit the config files manually and while you're using GiFTMui's Save Settings Exiting switch option. Hence, if you usually edit the config files and/or do not save the MUI settings on program exit, you're required to use this button before making any change on each of the pages which contains this button. Also, isn't required either to use this button on the first GiFTMui run, since it has internally stored default options for quite everything, but keep it mind that if for some reason you need to manually delete the mui config file ENVARC:MUI/GIFTMUI.cfg, then indeed you must use this button on the next program run, resuming, you're encouraged to activate Save Settings Exiting switch and to not edit the config files manually (if isn't strictly needed) you were avoided headaches.. on the first run just go the preferences window and configure everything to fit your needs, use the objects bubble-helps if you need support to understand something, on most cases the default options will be ok probably, however do not assume that and take a moment to review what each option are for, you'll avoid more headaches later... Finally, once you finished configuring, click on Save To Disk for each of the page frame which contains this button, this will save the options to the config text-files which are later loaded by the daemon. If you need to configure several components (eg: It's your first program run) you could use Save To Disk ALL instead, from the settings menu, and all settings for the daemon and/or plugins will be saved on a single step.

You'll be prompted with the following requester when such a de-sync situation happend - here we just edited the giftd.conf and Ares.conf files to this to happens to take the screenshot:


To give some more background on this, each of the preferences option has a Object's ID which MUI uses to save its contents to ENVARC:MUI/GIFTMUI.cfg upon program exit. The settings saved there are totally independient from the daemon/plugins configuration files and/or options, this can be interpreted as a safe-copy to them.. On program startup, and only once each reset, the settings stored into ENVARC:MUI/GIFTMUI.cfg will be compared against the daemon/plugins config files (AMIGIFT:daemon/giftd.conf and AMIGIFT:daemon/<plugin>/<plugin>.conf, where "<plugin>" is the network plugin name). If the comparison fails, you'll be instructed to use "Read From Disk", as shown on that requester, assuming such .conf files are the more recent and therefore the ones we should trust, that's unless there was a write error writing back to disk those daemon/plugins files, in such case you'll need to use "Save To Disk" instead to re-generate the corrupted file(s) - a bit some more info about this is provided on the FAQ.

GiFTMui Application Menu
go to index

 $Id: index.php,v 2.0 2009/08/06 22:47:32 diegocr Exp $