EXPLANATION OF THIS SECTION
This section of the manual provides an overview of
the jProductionCritic Java class structure.
OVERVIEW OF THE CLASS STRUCTURE
jProductionCritic is divided into three main packages: jproductioncritic, jproductioncritic.errorchecker and jproductioncritic.gui.
The jproductioncritic package contains classes for the general holding and processing of data. All jProductionCritic functionality other than the specific error checking algorithms and the GUI is implemented in the classes of this package. The JProductionCritic class in particular contains the high-level implementation of all basic processing.
The jproductioncritic.errorcheckers package contains the implementations of each error checking algorithm. Of particular importance, each error checker is a subclass of the ErrorChecker class. This makes it easy to add new error checking algorithms to jProductionCritic, as one must simply create a new ErrorChecker subclass that implements ErrorChecker's abstract methods.
The jproductioncritic.gui package contains the classes that implement the jProductionCritic graphical user interface.
More
details are available in the jProductionCritic Javadocs and in the source code itself, both of which may be downloaded from the jMIR web page.
The reader may also wish to review the Processing Sequence section of the manual in order to obtain an
overview of how the system operates. The Extending the Software section also includes information on how to extend jProductionCritic.
CLASSES IN THE jproductioncritic PACKAGE
- JProductionCritic: This is the core class for the jProductionCritic project. It contains jProductionCritic's main method, as well as methods implementing jProductionCritic's top-level processing functionality.
- ConfigurationSettings: An object of this class holds the configuration settings used for jProductionCritic processing, which are typically parsed from a jProductionCritic configuration file. This class also includes methods for parsing such files, for saving such files, for preparing default settings and for validating settings.
- ErrorReport: An object of this class stores the information associated with a particular error detected in an audio file. The fields of objects of this class store the basic information associated with the error. Methods are also included for merging error reports of the same type that are close in time, and for formatting error reports for output in various ways.
- ReportBuilder: A class consisting of static methods for generating various types of reports detailing the contents of sets of ErrorReport objects.
- MetaData: Objects of this class store pairs of strings: one indicating the identifier for a piece of metadata, and the other indicating the value for this piece of metadata. Any kind of metadata acquired during jProductionCritic processing can be stored in objects of this type, other than reports of detected errors, which are rather be stored in ErrorReport objects. Typically, MetaData objects store metadata about the audio files that are checked for errors. Methods are also included for formatting error reports in various ways.
- JaudioFeatures: This class holds static methods that port over jAudio features adapted for the purposes of jProductionCritic.
CLASSES IN THE jproductioncritic.errorcheckers PACKAGE
More details on each class in this package that extends ErrorChecker can be found in the section of the manual on the types of errors checked for.
- ErrorChecker: This abstract class serves as the superclass of algorithms that check for production errors.
- DCBias
- DigitalClipping
- Duration
- EditClick
- EncodingQuality
- GroundLoopHum
- InstantaneousNoise
- InsufficientDynamicRange
- InsufficientDynamicRangeCompression
- InsufficientVarietyInDynamics
- IsNotStereo
- LongSilence
- NarrowbandNoise
- Phasing
- StereoChannelBalance
- StereoChannelSimilarity
CLASSES IN THE jproductioncritic.gui PACKAGE
- AnalysisPanel: The AnalysisPanel is used for controlling the reports that are generated when audio files are analyzed for technical production errors. It initiates processing and displays the results.
- ConfigurationSettingsTableModel: A Java TableModel used for displaying jProductionCritic configuration settings in a table.
- OuterFrame: The container holding the jProductionCritic GUI. Holds the AnalysisPane and SettingsPane as well as the GUI's menu items. Also provides methods for accessing functionality offered by the AnalysisPane and SettingsPane.
- SettingsPanel: The SettingsPanel is used for selecting configuration settings governing which production errors are checked for and using what thresholds. It allows users to parse settings from configuration settings files, edit these settings and save the settings to configuration settings files.
OTHER JMIR PACKAGES USED BY JPRODUCTIONCRITIC
- ACE: A metalearning tool. jProductionCritic uses it to save ACE XML files.
- UtilityClasses: A set of utility classes providing a variety
of general-purpose functionality. jProductionCritic uses it to perform miscellaneous
tasks, especially those relating to parsing audio files.
THIRD-PARTY LIBRARIES USED BY JPRODUCTIONCRITIC
The only third-party library used by jProductionCritic is the mp3plugin.jar JMF MP3 plugin distributed by Oracle.
-top of page-