This page lists all of our FAQs.
If you would prefer to see this list grouped by category, that is available here.
Personal Money Manager
About Personal Money Manager
Personal Money Manager is a financial software tool that enables you to analyze transactions on your bank statements.
You can group similar transactions into categories of your choice, eg fuel, groceries, entertainment, restaurant, medical bills, etc to see how much you spend in that category. You can also create a budget and compare or track your month-to-month spend on your grouped categories. Also, with Personal Money Manager you can view graphs and create personal income and expenditure reports, as well as use the debt calculator to formulate a debt repayment plan that can save you thousands.
(This article was originally published on the Nedbank Personal Money Manager webpage.)
1. Download the Personal Money Manager software and install it onto your personal computer. You will only need to do this once.
2. Download and save your bank statements from the Internet Banking website into the "My Bank Statements" folder on your computer. Please note that Personal Money Manager only works with current and savings account internet banking statements that are in a CSV format at this point.
3. Open Personal Money Manager, and click the "Import" button. This will automatically import all the transactions from your saved bank statements and display them for easy analysis. You can now group similar transactions, create and view graphs, design your monthly budget, or structure and view your month-to-month personal income and expenditure reports.
We have published a Getting Started tutorial which shows these steps in more details. To view this tutorial, simply click here.
(This article was originally published on the Nedbank Personal Money Manager webpage.)
Personal Money Manager is available for free to all Nedbank clients. The software can be downloaded from Nedbank.co.za.
Please click here if you need help downloading Personal Money Manager.
Note:
Nedbank staff can install Money Manager from the Nedbank Intranet.
Personal Money Manager works with your internet banking statements, as such it can only be used by Nedbank clients with a current or savings account and who subscribe to Nedbank's Internet Banking.
If you would like to subscribe to Nedbank Internet Banking, call 0860 115 060.
(This article was originally published on the Nedbank Personal Money Manager webpage.)
Yes. Once Personal Money Manager is installed on your computer and you have downloaded and saved your bank statements, you do not need to be online to access and use the software. This feature is a fantastic cost-saving benefit.
(This article was originally published on the Nedbank Personal Money Manager webpage.)
The software takes up very little space, and downloads very quickly. It is less than 5MB.
We have gone to great lengths to ensure that Personal Money Manager is a secure system, and that no one other than yourself will have access to any of the information stored within this software.
All data files are highly encrypted, and sensitive information within those data files has an extra layer of encryption using a proprietary encryption algorithm.
Furthermore, the Personal Money Manager software is code-signed by Comodo, the 2nd largest Certification Authority worldwide. This, alongside with Microsoft Authenticode technology ensure that no one can tamper with or "hack" the Personal Money Manager software. This is done using industry standard cryptography techniques, using well-proven cryptography protocols.
Getting Started
The answer to this question is available in the product documentation. Please click here to read the applicable article.
Note:
Nedbank staff can install Money Manager from the Nedbank Intranet.
The answer to this question is available in the product documentation. Please click here to read the applicable article.
Note:
Nedbank staff can install Money Manager from the Nedbank Intranet.
The answer to this question is available in the product documentation. Please click here to read the applicable article.
The answer to this question is available in the product documentation. Please click here to read the applicable article.
The answer to this question is available in the product documentation. Please click here to read the applicable article.
The answer to this question is available in the product documentation. Please click here to read the applicable article.
Advanced Topics
Start by installing PMM onto your new computer. Install PMM, then run it, then immediately close it - before you create new accounts, etc. If you have already created accounts on your new computer this will still work, but you will override the data on your new computer with the data from your old computer.
The easiest way to move your Personal Money Manager data from one computer to another is by restoring a Personal Money Manager backup file. The following steps outline how to do this.
Start by reading through the Backups page in the PMM documentation. Don't worry, it's very short. This explains how PMM automatically creates backups of its data for you.
Next, read Where are my backups stored. This explains how to find your PMM backup files. You will need to find the most recent PMM backup file on your old computer, and copy it across to your new computer. You can either copy it into the new computer's PMM Backup directory, or to the new computer's desktop.
Once you have copied a PMM backup file to the new computer, you will now restore that backup file (onto the new computer). First, make sure that Personal Money Manager is NOT running. Then, restore the backup file using PMM's Restore Tool. This is explained in the documentation, under How do I restore a backup.
And that should do it! When you run PMM on the new computer, you should now see your old data.
Okay, we're almost done. There are just two more things to do...
First, we need to change a setting in each bank account within PMM. When you added your bank accounts (on the old computer), each account would have stored the location of its subfolder within the "My Documents \ My Bank Statements" folder on that (old) computer. You need to change each account, telling them where to find the bank statements on the new computer. Instructions on how to do this can be found here.
Then, on a similar note, you can also move your bank statements (CSV files, which you downloaded from Internet Banking) from the old computer's "My Bank Statements" folder, across to the new computer's "My Bank Statements" folder. This step is not absolutely necessary, as those statements have already been imported by PMM (on the old computer, which you have now restored across to the new computer), but we recommend doing this anyway. Simply copy all of the subfolders in your old "My Bank Statements" folder across to the new computer.
When you add a bank account to Personal Money Manager, it automatically creates a new subfolder for that account inside of the "My Documents \ My Bank Statements" folder.
You can, however, change this behavior. From the main screen in PMM, right-click on a bank account and choose "Change". The "Edit Account" dialog will appear. Select the "Advanced" section, and change the statements path as required.

To delete all of your imported data, click on the "Edit" menu, then click on the "Delete" submenu, then click on "All transactions" (this is also explained in the documentation).
This will delete all of your imported transactions, from all of your bank accounts. This cannot be undone.
You will also be asked whether or not you wish to delete your Transaction Types information. If you decide to do this, then any rules which Money Manager may have learned (by analyzing how you classified your transactions) will be removed as well.
If you are a Nedbank employee, you can install Money Manager onto your workstation by following these steps:
- On the Nedbank Intranet Home Page, click on the "How to engage with GT" link (found under "Websites", "Group Technology").
- Then on the Group Technology home page, click on the "Request IT" button.
- Then click on the "Install Software" button.
- Then click on "Personal Money Manager".
- The Money Manager installer will then launch. Click on the "Run" button to proceed, then follow the prompts.
Troubleshooting
If all else fails, you might be asked to email us a log file, which will tell us exactly what went wrong during your import process.
If something goes wrong while importing your statements, you will notice a new "Log" button will appear at the bottom of the import screen, as shown here.

Simply click on this "Log" button, and after a few moments you should see a message which says that "PMM.LOG has been saved to your desktop". You should then see a new file on your Window's Desktop, which looks like this:

Please email this file to us.
Phone Statement Analyzer
Phone Statement Analyzer
Phone Statement Analyzer can currently analyze phone statements from Telkom, Vodacom, MTN and Nashua Mobile.
Are are currently offering to push your Telkom statements to your computer for you, so you don't need to download them yourselves, using our new Statement Automation Service. But for the other network providers (Vodacom, MTN, Nashua Mobile) you will need to download your statements yourself, using these instructions.
AmaRadio
AmaRadio
If you would like to link to the AmaRadio website, please feel free to use any of the following images.
To download these images, right-click on the image of your choice and choose "Save Picture As" (or equivalent). Alternatively, you're welcome to simply link to these images directly from your own site.
Please refer your visitors to www.amaradio.co.za, which will automatically redirect them to this website.



At this stage, AmaRadio only runs on Microsoft Windows. It will run on all versions of Windows, from Windows 2000 onwards.
We are often asked if AmaRadio will run on Mac. Unfortunately it doesn't. It could, but that would involve additional development costs from our side, and seeing that AmaRadio is a free product, it's hard to justify those costs. If you're interested in paying towards a Mac version, please let us know.
The amount of bandwidth used by AmaRadio depends on which station you are listening to, as different stations are broadcast at different bandwidth rates. Some stations effectively use a "higher quality" stream than others, resulting in a better "signal", which in turn uses more bandwidth.
Radio stations tend to stream at between 32Kbps and 64Kpbs. These stream rates equate to 12MB/hour, and 23MB/hour respectively.
Organize365
Organize365
Organize365 uses less space, and less memory, than any other similar product. The more emails you store in Organize365, the more space it will use on your computer, but it will always use far less resources than Outlook.
Yes. Simply uninstall it from the Windows Control Panel, or using the "Uninstall" option from the Organize365 program menu.
Unlike a lot of software, Organize365 does not install files all over your computer. All of the Organize365 program files are installed into your Program Files\Organize365 directory.
Best of all, Organize365 does not depend on .NET, so we don't install any additional components onto your computer.
Yes! One of Organize365's best features is that you can share your Calendar (and Address Book, and Notes, and lots of other things) with other Organize365 users by simply ticking a checkbox in the Program Options.
No setting up servers, no fiddling with network settings, no internet connection required. It really is that easy.
Organize365 SDK
The SDK has been tested with Clarion 6.3, 7 and 8. We develop Organize365 using Clarion 6.3.9056 though, and therefore recommend using that version of Clarion if possible.
Organize365 Source Code
The Organize365 APPs should be compiled in the following order:
- glo365.app
- jpimupg.app
- jpimbkp.app
- jpimrstr.app
- launcher.app
- jpim.app
We compile Organize365 using Clarion 6.3.9052. It should compile fine using any version of Clarion 6.3 (or later), but we recommend 6.3.9052 at this stage.
This is covered in the Organize365 source code page.
Data Mapper
Data Mapper
We support all versions of Clarion, from 5.5 onwards. At the time of writing this FAQ, that includes Clarion 5.5, 6.0 - 6.3, 7 and 8.
Clarion Accessories
Clarion
From Windows Vista, you may experience problems running certain Clarion accessory installers, whereby they will not be able to detect your installed versions of Clarion. Please see the following link for more information, as well as a workaround:
If you are experiencing problems compiling our example applications using Clarion 5.5.h, please take a look at the following article:
DebugView is a free application that you can download from Microsoft, which enables you to view debug output from our products. This can be very helpful in tracking down problems.
By default, our products do not generate debug messages, so you will not see anything in DebugView. To enable debug messages, simpy tick the "Send messages to DebugView" option found on each of products' Global Extension Templates, as shown below.

Once you have turned on the "Send messages to DebugView" option, recompile and run your APP. You should then see messages appearing in DebugView.
Our 3rdParty documentation is now available from within the Clarion 7 IDE.
After installing any of our Clarion 3rdParty products, you can now access our help system as follows...
From within the Clarion 7 IDE, simply click on the "Help" menu, then click on "Accessory", then "StrategyOnline". Then click on "Online Product Documentation".

J-Agent
J-Agent
Question...
"What do I need to ship with my app?"
Answer...
- If you are using Clarion 6.0, 6.1, 6.2 or 6.3, and are compiling in StandAlone mode, you will need to ship C60JAGNT.DLL.
- If you are using Clarion 7 or Clarion 8, and are compiling in StandAlone mode, you will need to ship CLAJAGN.DLL.
Then, regardless of which version of Clarion you are using, or whether you are compiling in local mode or standalone more, you will always also need to ship PWUTIL.DLL.
You also need to install (and run) two other files, both of which can be found in your J-Agent example App folder.
First, you need to install and run "DoubleAgent_x86.msi". This installs the Double Agent library that J-Agent wraps. Below is a SetupBuilder screenshot, showing how to do this quietly, so your users don't see it happening.

Then, unless you are absolutely certain that your users already have the Agent character that you want to work with installed on their computers, we recommend installing said Agent. If they already have the Agent installed, there's no harm in installing it again.

This information is published on the Developer Tools page.
J-Blowfish
J-Blowfish
This information is published on the Developer Tools page.
J-Blowfish was built (with permission) on the pwBlowfish code, developed by Andy Ireland.
J-Cal
J-Cal
This information is published on the Developer Tools page.
J-Cal Mini
J-Cal Mini
Replacing Clarion's default calendar lookup control with the J-Cal Mini calendar is as simply as adding the global extension template and recompiling. But what if you're using a hand-coded project?
In hand-coded projects, simply replace references to Clarion's "CalendarClass" with our "CalendarClassSOL" instead.
For example, this line of code...
Calendar1 CLASS(CalendarClass)
... will become ...
Calendar1 CLASS(CalendarClassSOL)
This information is published on the Developer Tools page.
J-Calculator
J-Calculator
This information is published on the Developer Tools page.
J-Depends
J-Depends
Q. I'm assuming in a multi-dll application, you put this in the EXE and don't have to put it in the DLL's.
A. Yes. But it will still report on the DLLs, because they are called / loaded by the EXE.
J-Depends will simply not work. It falls over gracefully, and your software will continue to run as per normal.
J-Depends will not provide "more" information if you compile your APP with debugging turned on.
I compiled the demo APP in Debug Mode, and in Release Mode, and both J-Depends logfiles came in at 255 KB. I then compared the logfiles and the only differences were things like the amount of memory being used by the EXE, etc.
No, that's the beauty of J-Depends. The analysis of your EXE is done purely on the EXE, so there is no additional load / footprint on your software.
The Dependency Walker EXE can be download from dependencywalker.com, or directly from here.
This information is published on the Developer Tools page.
J-Fax
J-Fax
No. The J-Fax Server program is NOT a requirement.
In other wordsIOW, you can operate J-Fax either directly from all the workstations, or you can choose to save the faxes in a common folder which the J-Fax Server program will then poll, and send the faxes from.
As an example, let's say you have one computer which has the modem and telephone line connected to it. You could decide to share the modem device on the machine and allow MS-Fax on other workstations to use this shared modem to send faxes. Or, you could have your application work on a server model and save the faxes to a common folder, and have a dedicated program (J-Fax Server) service that folder.
(PS - The source code for the J-Fax Server program is included when you purchase J-Fax.)
In the event that Microsoft Fax is not installed, J-Fax will simply not work. After JFax.Init gets called, if JFax.Disabled = true, then MS Fax is not installed and J-Fax will not work. If JFax.Disabled = false, then MS Fax is installed and J-Fax will work.
One way to deal with this would be to put this code into the "Local Objects -> JFax -> MyFax -> ErrorTrap -> Before the Parent Call" embed point...
if (pMethod = 'Init') and (pError = 'Microsoft Fax does not appear to be installed.')
message(pError, 'Error', icon:exclamation)
end
You could test JFax.Disabled immediately after the call to JFax.Init, and could disable certain menus etc then.
If you are using the Client/Server scenario (where you have the J-Fax server EXE running on one computer and all the other computers are routing their faxes to that server) then only the "server" computer needs to have MS Fax installed. The clients using J-Fax will not need to have MS Fax installed, as J-Fax will simply generate faxes and then send them across to the server computer!
A couple of users have asked how processor intensive J-Fax is. J-Fax uses MS Fax, and J-Fax is very efficient, so the real question is "How processor hungry is MS Fax?".
I ran some basic tests on am AMD 2400 with 512MB RAM using my J-Fax demo application. I simply faxed a couple of one page PDFs, one page TXT files, and one page DOCs, then I used Process Explorer to watch the CPU usage. The TXT files faxed without even hitting the radar, they came in at under 0.5% of CPU. DOC files used around 1.5%, and PDFs used 4.5%. When MS Fax sends a fax it actually sends the PRINT command to the registered editor application for the document type that you are faxing (so PDFs are faxed using Acrobat Reader, TXTs are faxed using NotePad, etc), and the CPU hit really seems to come from how much CPU time is required to load the default editor applications (Excel, Acrobat Reader, NotePad, etc).
The first thing to test if J-Fax is not working is whether Microsoft’s Fax Services are installed and working correctly.
The easiest way to do this is to simply open Word or NotePad, select the "File" menu, then click "Print". Select "Fax" from the list of printers, and then try to print. If "Fax" is not listed under the printers, that indicates that the Fax Service is not installed.
To install the Fax Service, simply go to the Windows Control Panel, open Add / Remove Programs, go to Add / Remove Windows Components, and turn on the "Fax Services" option.
Something else that you can do is generate a Debug Log, and email that to us. This will give us detailed information about what J-Fax is doing, and where it may be failing. For more information on using DebugView to generate a Debug Log see this post.
If it still doesn’t work please feel free to contact us and we will assist.
Numerous users have asked us about how they can integrate J-Fax with Icetips Previewer. If you are using Clarion 6, and have any of SoftVelocity Advanced Report Generator templates (ReportToPDF, ReportToXML, etc) then J-Fax simply plugs in as an extra option (ReportToFax). However, if you are not using the Advanced Report Generator templates you can still make use of J-Fax. Below is an outline as to how to implement J-Fax directly into the Icetips Report Previewer procedure. This tutorial assumes that you are familiar with Icetips Previewer, and already have it installed and set up in your APP.
First, add the J-Fax Global Extension template to your APP.
Then, on every Report procedure that you wish to add J-Fax functionality to, add the "J-Fax ReportToFax" procedure template, as described in the J-Fax product documentation. Set "Report Type" on that template to "Normal Clarion Report".
On your Icetips Report Previewer procedure, add the "J-Fax IcetipsPreviewer Support" extension template.
Lastly, on your Icetips Report Previewer procedure, add a new menu item to the "File" menu, and call it something like "Fax Report". Behind that menu item, simply embed the following code...
Do FaxReport
That's all there is to it.
Lastly, you might want to add the following code into the Icetips Previewer's "Window Events", "Open Window", after "Generated Code" embed point..
if MyFax.Disabled = true
disable(?FileFax)
end
Assuming your "Fax" item in the "File" is "?FileFax", then this code will disable that menu item if MS Fax is not installed. J-Fax will do this automatically for standard Clarion reports, but you need to do it manually for the Icetips Previewer.
Yes it does. We have included an example application showing how to do this. You can find this example in your Clarion\3rdParty\Examples\JFax folder.
You can easily send a cover page with your faxes. First you need a cover page file (*.cov) to use as the cover page "template" if you like. You can design your own cover page file using Microsoft's "Cover Page Editor" program. In Windows XP this can be found at "Start -> All Programs -> Accessories -> Communications -> Fax -> Fax Cover Page Editor". We have included a simple cover page file called jfax.cov with all the J-Fax example applications.
Once you have your cover page file ready (assuming it's called "jfax.cov"), you can implement the cover page as follows...
MyFax.SendCoverpage=true
MyFax.CoverpageName = 'c:\jfax.cov'
MyFax.CoverpageSubject = 'Hello Fred'
MyFax.CoverpageNote = 'Here are the pages you asked for.'
MyFax.SendFax ('0800123456', 'c:\myfax.txt')The most common scenario when it comes to faxing within a company is that one computer will have a working fax modem, and will be designated as the "fax server". J-Fax makes it very easy to implement client / server architecture, simply follow these steps…
1. In your Clarion\3rdParty\Examples\JFax\Server directory, you will find an example APP called "jfaxsvr.app". This APP will compile to an EXE, which you will then run on the server. Compile the APP, and copy it to a shared folder on your server, for example \\Server1\Public\MyFaxes. That shared folder is crucial, so take careful note of where yours is, and make sure that the clients who will be faxing "to" or "via" this fax server have sufficient access to that folder so that they can copy files to it. A compiled version of this example can also be downloaded (for free) directly from this link.
2. Along with the compiled EXE (point 1, above), you also need to copy JFaxHelper.dll and pwutil.dll into the same folder that the server EXE is running from. Because the EXE is compiled in local mode, you do not need to copy any of the Clarion runtime DLLs.
3. In your own APP (where you will be faxing from), if you have a look at the J-Fax Global Extension Template settings, select the tab called "General". You will notice a section called "Fax Server Path". You can either set the fax server path using a variable, or using an INI file. Your fax server path needs to point to a shared folder on another computer where J-Fax Server is running. This could be something like this...
\\server1\public\myfaxes
If you do not set the server path (using either the variable or the INI file settings above), then J-Fax will attempt to fax via the local fax modem. However, by simply setting the server path (as described above), J-Fax will then redirect all faxes to the shared folder on the server. The EXE that you compiled in step 1 (above) needs to be running in that shared folder, and it will then periodically check for any new documents (faxes), and if it finds any it will fax them out, using its own local fax modem.
This information is published on the Developer Tools page.
J-Flow
J-Flow
J-Flow implements an ActiveX control built by Lassalle Technologies called AddFlow. In order to use J-Flow in your Clarion applications, you need both tools. Think of AddFlow as being the underlying engine, and J-Flow as being the steering wheel, gears, and controls needed to use that engine in Clarion.
If you bought AddFlow on its own you would typically pay $499. We are able to offer you a fantastic deal though! If you buy our J-Flow Bundle (which includes AddFlow) it will cost you just $499! That means that in effect you’re getting J-Flow for FREE!
There is no limit - you can add as many nodes and links as you like.
Obviously there is a speed implication though - the more objects in a diagram the slower it will take to render. But for all practical purposes this speed impact is insignificant.
Yes you can. J-Flow provides several ways to do this. You can save the entire diagram to a Clarion blob (using one line of code), or you can save each node / link as a separate Clarion record.
This is an advanced topic, which you should not fiddle with unless you know exactly what you're doing. This question has been asked by a few of our clients though, which is why we have added it to the FAQs.
The J-Flow control's handle cannot be accessed via the usual manner (as in ?JFControl{prop:handle}), instead you should access it as follows:
TempLong = self.GetInfo ('HWnd', 2)
This information is published on the Developer Tools page.
Because J-Flow is a custom control, and not a standard Clarion control, it is not possible to hide it using Clarion's internal "hide" or "prop:visible" functionality. Instead, you need to use the JFlow "HideControl" and "UnhideControl" methods. See the online documentation for example code and additional information.
J-Html
J-Html
If you are battling to get a J-Html control to work in edit mode (whereby you can edit html), try the following...
First, make sure that the "Allow users to edit html documents" option on the control template is ticked (enabled).
Second, before you can actually edit html, you need to either load an existing html document (off disk) into the html control, or you need to create a new (blank) document.
To create a new html document, embed the following line of code in the "Local Objects -> JHtml -> JHtml1 -> Init -> After the Parent Call" embed point:
self.NewDocument ()
Use the Put_DocumentHtml method, see this page in the docs for example code.
This information is published on the Developer Tools page.
Yes, although (at the time of writing this) it isn't documented.
You can set the font name, size, and color as follows...
JHtml._ExecCommand ('FontName',, ‘Arial’)
JHtml._ExecCommand ('FontSize',, ‘6’)
JHtml.SetFontColor (color:red)
J-Media
J-Media
Numerous plugin DLLs are provided for the J-Media VLC control. These DLLs can be found in your Clarion\3rdParty\Examples\JMedia\Demo\Plugins folder. In order to use these plugin DLLs, simply create a subfolder in the same folder that your EXE is running from called "Plugins", and copy the plugin DLLs into that folder.
Below are a list of the plugins that J-Media can implement. You can either ship all of these with your software, or you can ship only those that your clients will need.
(If you have installed the VLC client EXE, you can also view this list by typing "vlc -l" from the command prompt.)
memcpymmx MMX memcpy
i420_rgb_mmx MMX I420,IYUV,YV12 to RV15,RV16,RV24,RV32 conversions
i422_yuy2_mmx MMX conversions from I422 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv
i420_ymga_mmx MMX conversions from I420,IYUV,YV12 to YMGA
i420_yuy2_mmx MMX conversions from I420,IYUV,YV12 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv
memcpymmxext MMX EXT memcpy
memcpy3dn 3D Now! memcpy
live555 RTP/RTSP/SDP demuxer (using Live555)
live555 RTSP/RTP access and demux
mux_ts TS muxer (libdvbpsi)
quicktime QuickTime library decoder
a52sys Raw A/52 demuxer
a52tofloat32 ATSC A/52 (AC-3) audio decoder
a52tofloat32 ATSC A/52 (AC-3) audio decoder
a52tospdif Audio filter for A/52->S/PDIF encapsulation
a52 A/52 parser
a52 A/52 audio packetizer
access_directory Standard filesystem directory input
access_directory Directory EOF
access_fake Fake input
access_file File input
access_filter_dump Dump
access_filter_record Record
access_filter_timeshift Timeshift
access_ftp FTP input
access_http HTTP input
access_mms Microsoft Media Server (MMS) input
access_output_dummy Dummy stream output
access_output_file File stream output
access_output_http HTTP stream output
access_output_shout IceCAST output
access_output_udp UDP stream output
access_realrtsp Real RTSP
access_smb SMB input
access_tcp TCP input
access_udp UDP/RTP input
adjust Image properties filter
adpcm ADPCM audio decoder
aiff AIFF demuxer
aout_directx DirectX audio output
aout_file File audio output
araw Raw/Log Audio decoder
araw Raw audio encoder
asf ASF v1.0 demuxer
audio_format Audio filter for PCM format conversion
au AU demuxer
avi AVI demuxer
bandlimited_resampler Audio filter for band-limited interpolation resampling
blend Video pictures blending
caca Color ASCII art video output
cdda Audio CD input
cinepak Cinepak video decoder
clone Clone video filter
cmml CMML annotations decoder
cmml CMML annotations decoder
crop Crop video filter
cvdsub CVD subtitle decoder
cvdsub Chaoji VCD subtitle packetizer
deinterlace Deinterlacing video filter
deinterlace Deinterlacing video filter
demuxdump File dumpper
direct3d DirectX 3D video output
distort Distort video filter
dmo DirectMedia Object decoder
dmo DirectMedia Object encoder
dolby_surround_decoder Simple decoder for Dolby Surround encoded streams
dtssys Raw DTS demuxer
dtstofloat32 DTS Coherent Acoustics audio decoder
dtstofloat32 DTS Coherent Acoustics audio decoder
dtstospdif Audio filter for DTS->S/PDIF encapsulation
dts DTS parser
dts DTS audio packetizer
dummy Dummy interface function
dummy Dummy access function
dummy Dummy demux function
dummy Dummy decoder function
dummy Dummy encoder function
dummy Dummy audio output function
dummy Dummy video output function
dummy Dummy font renderer function
dvbsub DVB subtitles decoder
dvbsub DVB subtitles encoder
dvdnav DVDnav Input
dvdread DVDRead Input (DVD without menu support)
equalizer Equalizer with 10 bands
export export
export M3U playlist exporter
export Old playlist exporter
export XSPF playlist export
faad AAC audio decoder (using libfaad2)
fake Fake video decoder
ffmpeg FFmpeg audio/video decoder/encoder ((MS)MPEG4,SVQ1,H263,WMV,WMA)
ffmpeg FFmpeg chroma conversion
ffmpeg FFmpeg audio/video encoder
ffmpeg FFmpeg demuxer
ffmpeg FFmpeg muxer
ffmpeg FFmpeg video filter
ffmpeg FFmpeg crop padd filter
ffmpeg FFmpeg deinterlace video filter
fixed32tofloat32 Audio filter for fixed32<->float32 conversion
fixed32tos16 Audio filter for fixed32->s16 conversion
flacdec Flac audio decoder
flacdec Flac audio encoder
flacdec Flac audio packetizer
flac FLAC demuxer
float32tos16 Audio filter for float32->s16 conversion
float32tos8 Audio filter for float32->s8 conversion
float32tou16 Audio filter for float32->u16 conversion
float32tou8 Audio filter for float32->u8 conversion
float32_mixer Float32 audio mixer
freetype Freetype2 font renderer
gestures Mouse gestures control interface
glwin32 OpenGL video output
gnutls GnuTLS TLS encryption layer
goom Goom effect
growl Growl Notification Plugin
h264 H264 video demuxer
headphone_channel_mixer Headphone virtual spatialization effect
hotkeys Hotkeys management interface
http HTTP remote control interface
i420_rgb I420,IYUV,YV12 to RGB2,RV15,RV16,RV24,RV32 conversions
i420_ymga Conversions from I420,IYUV,YV12 to YMGA
i420_yuy2 Conversions from I420,IYUV,YV12 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211
i422_yuy2 Conversions from I422 to YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211
id3tag ID3 tags parser
image Image video output
invert Invert video filter
ipv4 UDP/IPv4 network abstraction layer
ipv6 UDP/IPv6 network abstraction layer
libmpeg2 MPEG I/II video decoder (using libmpeg2)
linear_resampler Audio filter for linear interpolation resampling
linear_resampler Audio filter for linear interpolation resampling
logger File logging
logo Logo video filter
logo Logo sub filter
lpcm Linear PCM audio decoder
lpcm Linear PCM audio packetizer
m3u Playlist metademux
m4a MPEG-4 audio demuxer
m4v MPEG-4 video demuxer
magnify Magnify/Zoom interactive video filter
marq Marquee display
memcpy libc memcpy
mjpeg M-JPEG camera demuxer
mkv Matroska stream demuxer
mod MOD demuxer (libmodplug)
mosaic Mosaic video sub filter
motionblur Motion blur filter
motiondetect Motion detect video filter
mp4 MP4 stream demuxer
mpc MusePack demuxer
mpeg_audio MPEG audio layer I/II/III decoder
mpeg_audio MPEG audio layer I/II/III packetizer
mpgatofixed32 MPEG audio decoder
mpgatofixed32 MPEG audio decoder
mpga MPEG audio / MP3 demuxer
mpgv MPEG-I/II video demuxer
msn MSN Now-Playing
mux_asf ASF muxer
mux_avi AVI muxer
mux_dummy Dummy/Raw muxer
mux_mp4 MP4/MOV muxer
mux_mpjpeg Multipart JPEG muxer
mux_ogg Ogg/OGM muxer
mux_ps PS muxer
mux_wav WAV muxer
netsync Network synchronisation
normvol Volume normalizer
nsc Windows Media NSC metademux
nsv NullSoft demuxer
ntservice Windows Service interface
nuv Nuv demuxer
ogg OGG demuxer
opengl OpenGL video output
osdmenu On Screen Display menu
packetizer_copy Copy packetizer
packetizer_h264 H.264 video packetizer
packetizer_mpeg4audio MPEG4 audio packetizer
packetizer_mpeg4video MPEG4 video packetizer
packetizer_mpegvideo MPEG-I/II video packetizer
param_eq Parametric Equalizer
playlist Playlist
playlist M3U playlist import
playlist PLS playlist import
playlist B4S playlist import
playlist DVB playlist import
playlist Podcast parser
playlist XSPF playlist import
playlist New winamp 5.2 shoutcast import
png PNG video decoder
podcast Podcasts
portaudio PORTAUDIO audio output
ps MPEG-PS demuxer
ps MPEG-PS demuxer
pva PVA demuxer
rawdv DV (Digital Video) demuxer
rawvideo Pseudo raw video decoder
rawvideo Pseudo raw video packetizer
rc Remote control interface
realaudio RealAudio library decoder
real Real demuxer
rss RSS and Atom feed display
rv32 RV32 conversion filter
s16tofixed32 Audio filter for s16->fixed32 conversion
s16tofloat32swab Audio filter for s16->float32 with endianness conversion
s16tofloat32 Audio filter for s16->float32 conversion
s8tofloat32 Audio filter for s8->float32 conversion
sap SAP Announcements
sap SDP file parser for UDP
scale Video scaling filter
screen Screen Input
sdl_image SDL_image video decoder
sgimb Kasenna MediaBase parser
shout Shoutcast radio listings
shout Shoutcast TV listings
showintf Show interface with mouse
simple_channel_mixer Audio filter for simple channel mixing
spdif_mixer Dummy S/PDIF audio mixer
speex Speex audio decoder
speex Speex audio packetizer
speex Speex audio encoder
spudec DVD subtitles decoder
spudec DVD subtitles packetizer
stream_out_bridge Bridge stream output
stream_out_bridge Bridge stream output
stream_out_bridge Bridge stream output
stream_out_description Description stream output
stream_out_display Display stream output
stream_out_dummy Dummy stream output
stream_out_duplicate Duplicate stream output
stream_out_es Elementary stream output
stream_out_gather Gathering stream output
stream_out_mosaic_bridge Mosaic bridge stream output
stream_out_rtp RTP stream output
stream_out_standard Standard stream output
stream_out_transcode Transcode stream output
subsdec Text subtitles decoder
subtitle Text subtitles parser
svcdsub Philips OGT (SVCD subtitle) decoder
svcdsub Philips OGT (SVCD subtitle) packetizer
telnet VLM remote control interface
telx Teletext subtitles decoder
theora Theora video decoder
theora Theora video packetizer
theora Theora video encoder
time Time display sub filter
transform Video transformation filter
trivial_channel_mixer Audio filter for trivial channel mixing
trivial_mixer Trivial audio mixer
trivial_resampler Audio filter for trivial resampling
ts MPEG Transport Stream demuxer
tta TTA demuxer
twolame Libtwolame audio encoder
ty TY Stream audio/video demux
u8tofixed32 Audio filter for u8->fixed32 conversion
u8tofloat32 Audio filter for u8->float32 conversion
ugly_resampler Audio filter for ugly resampling
vcd VCD input
visual Visualizer filter
vobsub Vobsub subtitles parser
voc VOC demuxer
vod_rtsp RTSP VoD server
vorbis Vorbis audio decoder
vorbis Vorbis audio packetizer
vorbis Vorbis audio encoder
wall Wall video filter
waveout Win32 waveOut extension output
wav WAV demuxer
wingdi Windows GDI video output
wxwidgets wxWidgets interface module
wxwidgets wxWidgets dialogs provider
x264 H.264/MPEG4 AVC encoder (using x264 library)
xa XA demuxer
xml XML Parser (using libxml2)
xtag Simple XML Parser
dshow DirectShow input
dshow DirectShow input
skins2 Skinnable Interface
skins2 Skins loader demux
vout_directx DirectX video output
This information is published on the Developer Tools page.
J-Skype
J-Skype
This information is published on the Developer Tools page.
J-Spell
J-Spell
Users often ask us whether J-Spell can be told to ignore special words, such as mail merge tokens, or user-defined fields etc.
One solution to this is to use brackets around such words, and then tell J-Spell (in the global extension template settings) to ignore all words in brackets. If you did that, then the word "EMAIL_ADDRESS" would be ignored in the following example...
Please send all correspondence to [EMAIL_ADDRESS].
One of our clients reported this to us, and we decided to FAQ it in case it pops up again.
JSpell is not able to deal with unicode characters in the name of the executable. For example, if the application has an é as in communiqué.exe, this causes a problem. The reason for this is that J-Spell creates a temporary file, based on the name of the executable, and non-standard characters such as é cause API issues when creating new files.
J-Spell makes use of the aspell spelling libraries and dictionaries. These files need to be shipped with your software, and you need to tell J-Spell where to find them in order for the J-Spell template to work. This is done on the "Folders" tab of the J-Spell Global Extension Template, as shown below.

By default, J-Spell is set to look for the aspell binaries (aspell.exe, and aspell-15.dll) in the same folder that your own EXE is running from. And it is set to look for the spelling data and spelling dictionaries in a subfolder, relative to your own EXE, called "Aspell".
In other words, if your EXE is running from "c:\myapp", then aspell.exe and aspell-15.dll need to also be located in "c:\myapp", and your spelling data and dictionaries need to be located in "c:\myapp\aspell\".
But this can be changed. You can install the aspell binaries and dictionaries anywhere you want, as long as you tell J-Spell where to find them.
In the following example (below) we have specified that the aspell binaries, and the spelling data and spelling dictionaries are all located in the same folder, namely "c:\temp\aspell".

Taking this one step further, you could also use a variable to set the location at runtime, as shown here...

In this example we're using a global variable called "GLO:SpellingFilesDir" (you need to create this variable yourself). This variable can then be set in your "Program Setup" global embed point.
Q. Why do we need to use ASpell.EXE?
A. ASpell is provided as an open-source DLL. We could call the DLL directly (rather than using ASpell.EXE), but there is no documentation (that we know of) showing how to do this. We could spend days decoding the C++ EXE and figuring out how to use the ASpell DLL without going through the EXE, but the EXE is only 770KB, is proven to work very well, and your end users won't know we're using it (as it runs completely in the background), so it's far easier just to use it than to call the DLL. No one has complained yet, but we thought we'd address this here anyway. The ASpell team have "creating a C++ interface" on their "ToDo" list, so once they have done that we will stop using the EXE and will use the DLL interface instead.
Q. What is the "Personal Dictionary"?
A. When you use J-Spell it will create a file in the same directory as your EXE called "myjspell" (or "ComputerName_myjspell" if you are using J-Spell over a network). This file is your "Personal Dictionary" (or "local dictionary").
When J-Spell detects a spelling error and asks you how you want to deal with it, and when you choose "Add", it will add that word into this local file, so that in future that word is not detected as a spelling error. You can edit this file yourself using NotePad, and can then install it with your software so that certain words are in the local dictionary right from the start. The following example shows a "myjspell" file that has been set up so that the words "dogg" and "frrog" wonbe detected as spelling errors...
personal_ws-1.1 en 2
dogg
frrog
Note that the first line must always be "personal_ws-1.1" followed by a space, then the first two characters of the language (in this case "en"), then another space, then the number of words contained in the list below (in this case "2").
Also note that you cannot store punctuation in the personal dictionary. Characters such as ' and . are not allowed.
Q. If my users run my software by using shortcuts that point to a single EXE on a central computer will J-Spell still work?
A. Yes. On the J-Spell global extension template, go to the "Folders" tab and use the following settings...
"Temporary Files" - "Windows\Temp"
"Personal Dictionary" - "EXE"
"Bin Directory" - "EXE"
"Data Directory" - "EXE\Aspell"
"Dict Directory" - "EXE\Aspell"
"Ensure Personal Dictionary name is unique" - If you want each user to have their own personal dictionary (stored with the EXE on the "server") then leave this option ticked. If you want them to share a single personal dictionary (also stored with the EXE on the "server") then untick this option.
Then just make sure that the necessary ASpell files are all located in the same directory as your EXE (on the server). See the section titled "What you need to ship" for more information.
Q. Can I spell check other languages?
A. Yes! You can download dictionaries for a number of languages from http://aspell.net/win32/. Once you have installed the language of your choice from that website, simply change the "Language" option in J-SpellGlobal Extension template! If you want to use a language that is not in the list on our Global Extension template, please contact us and we will add it (if possible).
Q. Can I change the spell-check language at runtime?
A. Yes. If you look at our generated code you will see that as your EXE starts up we set a global variable called "GloJSpell:Lng" to a value, such as "en_US", "en_GB", "fr", "el", and so forth. This global variable is then used throughout your APP to tell J-Spell what language to spell check. If you want to change the language that is used, you can either do it before compiling from the Global Extension Template, or you can change this global variable. You can change the global variable as your APP starts up, or from a "Settings" type screen, or anywhere you like for that matter. Just make sure that you set it to a valid value, such as those listed above or used in our code.
Q. Can I use J-Spell with Fomin Report Builder?
A. Yes! Just make sure that you are using J-Spell version 1.26 or later, and FRB version 3.05 or later. Once you have added J-Spell and FRB to an APP, there will be an option in J-Spell's global extension template to enable FRB support. Just tick that and recompile.
Q. Can I use J-Spell to spellcheck the CapeSoft FileExplorer HtmlEditor control?
A. Yes! Just add a button to your window for the user to click in order to check the control, then behind that button embed the following code…
ThisViewer1.GetInfo()
ThisViewer1.Load (MyJSpell.CheckHtml(ThisViewer1.OuterHTML),, 1)
Q. Can I change the messages and screens that J-Spell shows my users?
A. You can change various messages (for example, the "The spelling check is complete" message), as well as the labels on the "Spelling" window by using the "UI" tab in the Global Extension template.
Q. Which version of ASpell does J-Spell use?
A. We are using Aspell version 0.50.3.3 (the most recent version at the time this document was written), available from http://aspell.net/win32/.
Q. Can I add words into the spelling dictionary?
A. Yes! See the FAQ titled "What is the Personal Dictionary" for more information.
This information is published on the Developer Tools page.
J-Tooltips
J-Tooltips
This information is published on the Developer Tools page.
J-Zip
J-Zip
Question
At runtime, my application changes its current path to access different data sets. Will J-Zip be able to find its various components if I do this?
Answer
Yes, just make sure that you are using J-Zip version 1.22 or later.
Question
Can I pass the names of the files that I want to zip, and also the name of the zip file that I want to create, as variables?
Answer
Yes, absolutely. Take a look at the following example code...
Loc:Filename=’test.zip’ Loc:FilesToZip=’hello.doc,world.doc,boo.xls’ JZip_Zip(Loc:Filename,Loc:FilesToZip)
The documentation for the JZip_Zip function can be found at here
If the compression takes place very quickly (small file), then the progress window will not be displayed. The template also provides a setting whereby you can specify whether the progress window should be visible or not.
Question
When using J-Zip, I get an error window that is titled "Compression Error" and the message says "Non fatal error." What could this mean?
Answer
This could either mean that the file which you are trying to compress is currently locked (as in, open by another program). Or it could mean that you haven't copied the required files into your EXE path (as explained in the docs).
The purpose of the JZip_Zip function (or the J-Zip template which makes use of this function) is to do exactly this - it adds files into a ZIP archive.
If you specify a ZIP filename which does not exist, then the ZIP file will be created, and the specified files will be added into it. But if you specify an existing ZIP file (one which already exists), then your specified files will be added to the files already contained in that ZIP archive.
Here's an example (this can also be done using the templates directly).
JZip_Zip ('test1.doc', 'archive.zip')
That line of code will create a new ZIP archive called "archive.zip", and will add "test1.doc" into the ZIP file.
Then if we do this...
JZip_Zip ('test2.doc', 'archive.zip')
That will add "test2.doc" into the same archive. So at this point "archive.zip" will contain two files, namely "test1.doc" as well as "test2.doc".
This information is published on the Developer Tools page.
Yes. You can either use filenames with no paths, as follows...
JZIP_Zip ('test.zip', 'test.png')
...in which case J-Zip will assume that test.png is located in the same folder as your EXE, and will create test.zip in that same folder as well.
Or you can use paths, as follows...
JZIP_Zip ('c:\some folder\test.zip', 'c:\images\test.png')
Yes. For example...
JZIP_Zip ('c:\some folder\test.zip', 'c:\images\*.png')
...would create an archive that contains all PNG files in the c:\images folder.
PlugIT
PlugIT
This information is published on the Developer Tools page.
Clarion AppStats
AppStats
This information is published on the Developer Tools page.



