Northwestern University Library

Northwestern University Library

Music toolkit: Add fields to records for notated music and musical sound recordings

Northwestern University. Evanston, IL USA. September 14, 2020

Program and documentation by Gary L. Strawn, Northwestern University Library.

mrsmith - at -


1. Introduction

1.1. What is this?

This document describes a tool that uses information already present in bibliographic records for notated music and musical sound recordings to create new fields. More specifically, this tool pulls information from LCSH subject headings and a few coded data elements to generate the following fields:

This tool is an implementation of the Music Library Association's document Deriving 046, 370, 382, 385, 386, 388 and 655 fields in bibliographic records for notated music and musical sound recordings, with one exception. This tool does all of the work described in that document, but it does not produce any of the messages that the document calls for.

1.2. Operating mode

The music toolkit works only within the OCLC Connexion™ client: the tool adds fields to bibliographic records found in the OCLC Connexion client (including records in the online and local save files).

The music toolkit is actually a system that consists of two elements working together:

The macro extracts information from an OCLC record, passes the information to the DLL, and asks the DLL to provide a service (generate music-related fields for the bibliographic record). The DLL provides the service requested by the macro and eventually returns the result of its work to the macro. The macro completes the task by writing information to the bibliographic record displayed in the OCLC Connexion client. The macro knows how to work with OCLC, but knows nothing about mining bibliographic data to create new fields. The DLL does not know the source of the information it receives, or what will happen to the information it produces, but knows a lot about generating music-related fields. These complementary strengths and weaknesses fit together to produce the complete system.

Whenever possible, this document will refer to the whole package as the toolkit without bothering to identify the component that carries out a task; most people won't care, anyway.

Users should follow the simple naming convention used in this document, and should refer to this tool as the toolkit or as the music toolkit,2 but never as the marcro.3 If it should happen that this document refers specifically to the DLL or the macro, this means that it is important for the moment that you recognize the contribution made by a particular component to the complete package.

The toolkit only writes new and modified variable fields to the bibliographic record displayed in Connexion. The toolkit does not save the changed record, and it certainly does not issue a replace command for the changed bibliographic record. Instead, the toolkit helps you modify a bibliographic record, and presents the results in the OCLC Connexion client for your final approval. What happens next is up to you.

In its current configuration, the music toolkit has no visible features. You will invoke the toolkit (using a Connexion toolbar button, or a keyboard shortcut), and almost instantly, the bibliographic record will contain additional fields. You will never see any part of the toolkit itself.

1.3. Your responsibilities

It is your responsibility to review the results of the toolkit's work, and to make any appropriate and necessary changes to the bibliographic record before using the changed record in any manner. You always have the final say. Under no circumstances would it be appropriate for you to justify the presence of an incorrect, inappropriate or malformed element in a bibliographic record by claiming "It's what the program gave me." Say it again: The entire content of each bibliographic record that modify with the toolkit is your personal responsibility.

1.4. Miscellaneous information and warnings

Although it may seem to go without saying, it still needs to be said that you can't use the OCLC Connexion version of this toolkit to create and modify records in the LC/NACO Authority File on OCLC if you aren't authorized to modify OCLC bibliographic records.

Use of this system (macro, DLL, EXE, and the accompanying documentation) is subject to limitations on liability.4 Use of any part of the toolkit constitutes acceptance of those conditions.

The Connexion client runs under the Microsoft Windows™ operating system, as does the independent EXE module; the toolkit described in this document is restricted to Windows workstations.

1.5. About this documentation

The descriptions in this document are written as if the toolkit were used just once per bibliographic record. (There is nothing inherent in the music toolkit that prevents multiple uses for one record; but there's no point to doing so unless you've made a change to a relevant part of the record since the last time you used the toolkit on the record.)

1.6. Your help is needed

Although it is based on an existing standard for its behavior, the music toolkit's features are neverehtless open to additions and revisions. Whenever you discover the need for a change or enhancement let Gary know,5 and he'll see what can be done. A quick glance at the toolkit's revision history will demonstrate how much the toolkit can change in a short time. Most of these changes are the result of suggestions from users. With your help, the music toolkit will become even more useful and powerful.

It's also likely that the code underlying the authority toolkit is not perfect in every detail. If something unexpected happens when you're using the toolkit, let Gary know about it. It will speed things along if you describe in excruciating detail all of the steps you took to arrive at the unexpected event, including the OCLC bibligraphic record ID. A full description will help Gary re-create the problem; and when he can re-create a problem, it's usually easy to come up with a fix.

Also let Gary know if there's anything missing from the documentation,or if the documentation is unclear, or needs additional or different examples. Feel free to suggest new or replacement examples at any time.

2. Get ready to use the toolkit

2.1. Download and run the setup program

Follow these instructions to install the toolkit for the first time, and to install later updates. The first time you run the setup program it probably won't matter whether the Connexion client is running; but later, when you install updates, you'll run into trouble if the Connexion client is running. So you might as well get into the habit of always closing the Connexion client before you run the setup program.

The installation package for the music toolkit is available at Northwestern University Library's download site. The installation package is contained in the file called MusicDll.ZIP.

Download the ZIP file, open the ZIP file and run the program setup.exe. (If you can't run setup.exe from within the ZIP file, formally extract the files from the ZIP file, and then run setup.exe.) You may need to acquire appropriate Windows privileges to run the setup program. If at any time during the installation you are informed that you already have a copy of this or that file with the same or a more recent date, click the button on the message box that means "I want to keep the file that I already have." The setup program will place the relevant files into the appropriate folders on your workstation's hard drive, but this is not the end of the things that need to happen before you can use the toolkit.

The folder into which the setup program deposits its files depends on your version of Microsoft Windows. The folder's name should be one of these two:

In this folder you will find the following:

The program also puts the macro file NulMusic.mbk into the folder that contains Connexion macro books; one of the following:

2.2. Connect the toolkit to the rest of the world

The OCLC Connexion client allows you to define a one-step method to start macros, including the macro that forms part of the music toolkit. You can define either a toolbar icon or a keyboard shortcut to invoke the toolkit's macro. Just how you go about this is described in the Connexion documentation itself, not in this document. The object that you want to attach to either a toolbar icon or a keyboard shortcut is the macro called MusicAddFields, which is contained within the macro book NulMusic.

          In the following illustration, you have assigned the macro part of the toolkit to the keyboard shortcut "ctrl-equals".
Assigning the toolkit's macro to the keyboard 
shortcut ctrl-equals
          In the following illustration, you have assigned the macro part of the toolkit to the "3" icon on the Connexion toobar.
Assigning the toolkit's macro to the a toobar 

2.3. Updates

Gary updates the installation package for the toolkit (and this documentation) whenever he makes any kind of change. The change may be a minor bug fix or tweak, or it may involve the addition of a major new feature. Whenever you have any problem with the toolkit, you should first install the latest version, to make sure the problem hasn't already been fixed. Whenever you think of something that the toolkit should do differently, or something new that the toolkit could do, first install the latest version, to make sure that the enhancement isn't already in place. Whether you're having problems or not, you should get into the habit of routinely checking the revision history section at the end of this document for notices of fixes and enhancements. Whenever you see something mentioned in the revision history that sounds like something you might be able to use, install the latest version and explore the new feature. Even if you're perfectly happy with the features in your current version of the toolkit, you should periodically update the installation, so you have all the latest bug fixes.

To install the latest version, simply fetch the updated installation package from the download site, and follow the general installation instructions. You don't need to un-install the previous version, and you don't need to worry about preserving your local settings.

3. Using the toolkit

Do this:

4. Revision history

Important fixes and changes (and many minor ones), starting in July 2017, are listed here in reverse chronological order. Click on a link to read a fuller description, or see an illustration, of the area of the toolkit affected by the change.


1. The DLL was originally written as an aid to the development of the specifications for adding music-related fields to bibliographic records. Ideas for handling information in bibliographic records were tested and refined as part of a recursive process that eventually produced both the finished specifications and a working implementation of them. The DLL is part of the music toolkit, but it can also be embedded in other products.

2. No copyright or trademark claim is made for these terms.

3. Referring to the whole thing as the macro is inaccurate, because the Connexion macro is only a small part of the toolkit. More importantly, referring to the whole thing as the macro tends to annoy the programmer.

4. Northwestern University shall not be held liable for any loss or damage, lost profits, loss of business, loss of or damage to data, downtime or unavailability, of or in connection with use of these materials. Northwestern University shall have no liability for any claims arising from use of these materials, based on infringement of copyright, patent, trade secret or other right, libel, slander or invasion of privacy or claims based on errors, inaccuracies, or omissions in or loss of the data. Northwestern University makes no express warranties or representations and disclaims all implied warranties with respect to these materials as to their accuracy, merchantability or fitness for a particular purpose. These materials are supplied "as is."

5. You can find Gary's e-mail address in slightly disguised form at the top of this documentation.

External NU Links: Northwestern Home | Search | Directories

Northwestern University Library • 1970 Campus Drive • Evanston, IL • 60208-2300
Phone: (847) 491-7658 • Fax: (847) 491-8306 • E-mail:

© Copyright 1994-present Northwestern University Library. World Wide Web Disclaimer and Policy Statements

Last Revision: September 14, 2020