This utility is designed to help with the following tasks:
.tt
files, one for each server in a TeamTalk server or latest-hosts list.
TTConv is a console application and can be run either with command-line options or without arguments in an interactive mode. At this time, the interactive mode is only for migration of servers from the Classic client to the Qt client; the other uses require command-line arguments.
TTConv is Copyright (c) 2013-2024 by Doug Lee and is covered by the
GNU AFFERO GENERAL PUBLIC LICENSE, version 3.
A copy of this license is also included as file copying.txt
.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under
certain conditions. See the full license for details.
iniparse, included in its entirety, comes with its own license (also included).
On Windows, users can run the executable (.exe
) version of this utility.
Those wishing to run this utility from source on Windows must first download and install a version of Python
3.7 or later.
On MacOS, Linux, and other Python-supporting platforms, make sure to run this utility via Python 3.7 or later.
To install and launch this utility:
ttconv.exe
.
On other operating systems, or on Windows with Python 3.7 or later installed, run ttconv.py
via the
correct Python command.
This document will use the command ttconv
to indicate launching TTConv.
If you are using the Windows executable, it might be necessary to type the full path to TTConv, such as c:\TTConv\ttconv.exe
instead.
To run TTConv from source, on Windows after installing Python 3.7 or later or on any other operating system,
it will more likely be necessary to type something like python c:\TTConv\ttconv.py
or python3 c:\TTConv\ttconv.py
.
For the most common interactive use, migrating from Classic to Qt,
TTConv is designed not to require being launched from within a shell window (e.g., cmd
on Windows).
This is why TTConv will often stop before closing with a message like "Press Enter to exit."
This facilitates use of TTConv via a Windows or similar shortcut or from Windows Explorer or similar.
If run without command-line arguments, TTConv will currently assume that a Classic-to-QT migration is wanted and will analyze files accordingly. If items are found to migrate, TTConv will offer to convert them. Otherwise it will report finding nothing and prompt to exit.
Before proceeding, TTConv will ask whether you wish to migrate a portable TeamTalk instance. Most users will probably answer no (n) to this question and migrate an installed TeamTalk instance. If you do wish to migrate a portable copy, answer yes (y) and then, when prompted, enter the path to the folder containing the portable TeamTalk files.
When TTConv finds entries in the TeamTalk 5 Qt client .ini
file, it will indicate this and will
prompt for permission to replace those entries. This will happen if you have previously migrated or if you
have already added servers to the Qt client. The number of servers found in the Qt file should help in
choosing whether to proceed with the current migration.
TTConv is capable of making an HTML file in which servers appear as links. This can be especially useful for phone users who also use a file sharing service, such as Dropbox, to pass files between Mac or Windows and a phone.
Warning: As currently written, TTConv does not pause after messages before exiting when used in this mode. This contrasts with TTConv's behavior when used to migrate servers from the Classic client to the Qt client. Rationale: Whereas migration from the Classic client to the Qt client is likely to be a one-time or at least infrequent event, creation/updating of an HTML version of a TeamTalk server list can remain perpetually useful as the server list evolves. The expected usage, therefore, is via a shortcut, written once and run as needed.
To create an HTML version of a set of servers, type a command line that includes an indication of which servers to use and where to store the resulting HTML file. An example:
c:\ttconv\ttconv.exe .ini c:\Dropbox\tt.htm
In this example:
c:\ttconv\ttconv.exe
is the full path to the Windows executable instance of TTConv.
.ini
causes TTConv to use the named servers in the Windows Qt client's configuration file.
To use the latest-hosts section instead, use .ini:l
.
c:\Dropbox\tt.htm
is the full path of the file to create.
If this file already exists, it will be replaced.
To facilitate running the above HTML generation periodically after TeamTalk servers are added, modified, etc., make a Desktop shortcut whose "Target" field is a command such as the one in the preceding example. It is likely even possible to run such updates on a schedule in the background, though means of setting this up fall beyond the scope of this documentation.
Some TeamTalk users maintain secondary configuration profiles, such as for different sound setups. As the primary server list evolves, keeping secondary profile server lists up to date can become laborious. TTConv can help with this by transferring the primary server list to a secondary profile with a single command.
As with creating HTML server lists, the expected usage of this profile server list copying feature is periodic; therefore, there is no pause after messages in this mode of operation. A Windows shortcut for this purpose may very well prove very effective. Example:
c:\ttconv\ttconv.exe .ini .ini.1
If multiple secondary profiles must periodically be updated, create one shortcut for each, or create a
.bat
, .cmd
, or similar script file that updates them all, then make a shortcut
that runs that file.
An example .bat
or .cmd
file of this sort:
@echo off
c:\ttconv\ttconv.exe .ini .ini.1
c:\ttconv\ttconv.exe .ini .ini.2
c:\ttconv\ttconv.exe .ini .ini.3
Note that each secondary profile should already exist, having been created by TeamTalk itself prior to being
updated by this utility.
TTConv should not be used to create secondary profiles because this would not include required information
that TeamTalk needs.
TTConv can populate a folder with a set of .tt
files, one per server in a server or latest-hosts
list. TeamTalk can then be launched directly into a server, and possibly channel, by activating a
.tt
file, such as by clicking or pressing Enter on it from Windows Explorer or
activating it from the Finder in MacOS. .tt
files may also work to launch TeamTalk on other
platforms.
Warning: As currently written, TTConv does not pause after messages before exiting when used in this mode. See the similar warning and rationale in the previous section regarding the creation of HTML server lists.
To create a set of .tt
files from a server list, type a command line that includes an indication of which
servers to use and where to store the resulting .tt
files. An example:
c:\ttconv\ttconv.exe .ini c:\Dropbox\ttfiles/.tt
In this example:
c:\ttconv\ttconv.exe
is the full path to the Windows executable instance of TTConv.
.ini
causes TTConv to use the named servers in the Windows Qt client's configuration file.
To use the latest-hosts section instead, use .ini:l
.
c:\Dropbox\ttfiles/.tt
is the full path of the folder where the .tt
files should
be created, plus the trailing "/.tt
" which indicates that .tt
files are wanted.
The specified folder must already exist.
Warning: TTConv does not check whether the given folder is empty and does not check for
pre-existing .tt
files within it. Consequences:
.tt
files exist already that are not regenerated during this TTConv run, they will
remain unchanged.
.tt
file that is generated anew by this TTConv run will quietly replace any
identically-named file with the updated version.
.tt
files in the folder will remain unchanged.
Issues shown in this section may be fixed in future TTConv versions.
Alternate TeamTalk configuration profiles are not yet supported during a migration from the Classic client to the Qt client. They may of course be handled via individual TTConv runs with command lines that request copying of specific server lists among specific files.
The support for generating .tt
files is perhaps less than ideal, in that it provides no simple
means to keep a folder precisely synchronized with a TeamTalk configuration file. Because the HTML approach
fills the needs previously filled by .tt
files, however, this author does not predict this
shortcoming to be a significant problem.
Here is the revision history of TTConv, most recent entry first: Note that the revision numbers are artificially high because this project began as part of another much older one.
.1
, .2
, etc.
This facilitates transfer of the primary server list to non-primary profiles,
such as after adding a new server to the main configuration file.
Read-only Classic non-primary profile access is also included,
which facilitates converting Classic non-primary profiles to Qt. This usage has not been carefully tested,
however.
ttconv -h
or ttconv --help
.
details
tag
that may be expanded to show them. Among the benefits of this, heading count is reduced and text searches won't
match very old material.
copying.txt
file is correspondingly updated.
The most substantial difference is the handling of web servers that use this code.
shortname
,
url
, and srvpassword
.
Industrious users who manually edit their TeamTalk5.ini files may safely remove any instances of these fields,
but leaving them in the file is harmless.
.tt
files from a TeamTalk configuration file section.
[latesthosts]
section are named more like TeamTalk itself would
name them. This doesn't matter for a Classic-to-Qt migration but will for command-line-based server movement
among file formats; notably, when creating an HTML version of a latest-hosts section. This usage is expected to
be very rare.
-m
command-line option is removed.
First public release.
This release was published very rapidly to coincide with the unexpected timing of the initial TeamTalk 5.8.0
Qt release.
Various older versions existed, back through February, 2013; but all were considered experimental and not
formally released. The original provisional name for the utility was IXConv
.
Work on this incarnation began on February 5, 2013, as part of this author's experimentation with non-Classic
Windows and MacOS TeamTalk clients.