Enkod™ Software
Coding software for all

TagEdit - A Generic File Tag Editor

Version History
Downloads
DLL Plugin Specifications
Old Version

Version History

Feb. 19, 2004 - Version 1.0b released:

  • Changed company name to Enkod Software
  • Switched to compiled HTML for help file format

July 12, 2003 - MP3 plugin version 1.0 added

July 6, 2003 - Version 1.0 released

Downloads

Here you can download the program. You have four choices: the main program file, the MIDI plugin DLL, the MP3 plugin DLL, or the whole set. Note that if you download the program and the plugins separately, you must manually place the binaries for these components in the same folder. The program only looks in its own folder for plugins and if it finds none, it won’t run.

Main Program

Download and unzip anywhere. It will create a folder called “main” with a folder called “bin”, a folder called “src”, and a file called “compVc.bat” inside it. The executable is in “bin” along with the helpfile, “help.chm”. The sources are in “src”. The file “compVc.bat” will compile the program. Note that you must have the path to the necessary programs in the PATH environment variable, the path to the necessary libraries in the LIB environment variable, and the path to the necessary includes in the INCLUDE environment variable in order to compile.
Download the main program.

MIDI Plugin

Download and unzip anywhere. It will create a folder called “midi” with a folder called “bin”, a folder called “src”, and a file called “compVc.bat” inside it. The executable is in “bin” along with the helpfile, “MIDI Help.chm”, and the import and export libraries. The sources are in “src”. The file “compVc.bat” will compile the plugin. Note that you must have the path to the necessary programs in the PATH environment variable, the path to the necessary libraries in the LIB environment variable, and the path to the necessary includes in the INCLUDE environment variable in order to compile.
Download the MIDI plugin.

MP3 Plugin

Download and unzip anywhere. It will create a folder called “mp3” with a folder called “bin”, a folder called “src”, and a file called “compVc.bat” inside it. The executable is in “bin” along with the helpfile, “MP3 Help.chm”, and the import and export libraries. The sources are in “src”. The file “compVc.bat” will compile the plugin. Note that you must have the path to the necessary programs in the PATH environment variable, the path to the necessary libraries in the LIB environment variable, and the path to the necessary includes in the INCLUDE environment variable in order to compile.
Download the MP3 plugin.

Everything

This is the combination of the above three. It also includes a “compAll.bat” file that will compile the main program and the two plugins and put the binaries in a “bin” folder.
Download everything.

DLL Plugin Specifications

The DLL plugin specification has a few requirements. Firstly, the DLL must have a variable defined as extern "C" __declspec(dllexport) char filterStr[]. It must contain null-terminated pairs defining the filter string for the files the plugin supports. While this is somewhat awkward to describe, the following line from my midi.dll file shows its proper use:
extern "C" __declspec(dllexport) char filterStr[] = "Midi Files (*.mid)\0*.mid\0";
The string’s syntax is described in MSDN. Look for the member lpstrFilter.

Secondly, the DLL must have a function whose prototype is extern "C" __declspec(dllexport) int LoadFile(HANDLE hFile, HWND hwnd, HMODULE hModule). The variable hFile passed by the main program will contain the handle to the file the plugin should work with. The variable hwnd contains the handle to the main window. This should be the parent window for the main dialog the DLL creates. The final variable, hModule, contains the handle to the DLL module. It can be used in calls to resource loading functions to load resources from the DLL file.

The last requirement of the DLL is that LoadFile not return until the DLL is finished doing its processing. This is because after LoadFile returns, the main program closes the file handle, thus making any further read/write operations using the file handle impossible.

Old Version

You can download the old version of this program below.

1.0: Main MIDI Plugin MP3 Plugin Everything