The main documentation of jMythAPI is written in JavaDoc.
The JavaDoc API documents are available here.
Beyond a typical JavaDoc documentation, the jMythAPI JavaDoc pages provide additional infos, which are important for developers:
Which protocol versions are supported by jMythAPI and which changes were done to a specific version in comparison to the predecessor version can be seen in the JavaDoc of the Enumeration ProtocolVersion.
For each protocol version the following infos are provided:
In this section newly added, changed or removed protocol-commands or -properties are listed.
Protocol Version Info:
In this section you can see in which Git commit(s) the changes to the protocol were done.
If a given protocol version is used by a MythTV release version, the "MythTV-Release" is also listed.
In which protocol versions a protocol command or a request- or response-parameter is supported, is specified via protocol version range. This protocol version range is documented using the @since and the @deprecated JavaDoc tags.
Additionally the JavaDoc of each protocol-related class or function contains the following info table:
The "Added" version is the version, when a command or parameter was added to the protocol.
The "Removed" version specifies the version number, when a protocol element was removed.
If there are any significant changes to an element, this is listed as "Changed" version.
If a function is usable beyond the given protocol range, e.g. because an alternative set of functions can be used to achieve the same result, a "fallback" version is given.
In this case you should always read the "Protocol Version Hint" section of the functions JavaDoc to see, if there are any drawbacks when using the function outside its intended range.
Many protocol response objects have multiple properties. Some of them were added in version X, some were removed in version Y, others are available in all versions.
To make it easier to get an overview, which properties are available in which version, a following protocol version matrix is displayed.
In the above example you can see, that the property DUP_CHECK_NEW_EPI is only available in the protocol versions 12 and 13.
Accessing Property Values:
Don't worry about how to access a specific property value within the list of response-parameters. Almost all jMythAPI objects are property-aware. This means that each object has a set of enumeration constants, that can be used to get the value of a property, within the property value list. When using this enumeration constants, you do not need to take care about the proper position or valid protocol version number. If a property is not available for the current protocol-version, "null" is returned as value.
Although jMythAPI provides classes and functions to hide the protocol level details from the API user, all supported commands are documented in the following way:
For almost all supported commands at least one request- and response-example is included in the JavaDoc.
Furthermore the JavaDoc shows which command-, request- and response-parameters are required for a given protocol command.
Protocol version range:
If a given protocol command is not available in all protocol versions, a version range table is show.
To get started with jMythAPI you should read the following JavaDoc pages:
See here for all protocol versions supported by jMythAPI.
See here for all protocol commands supported by jMythAPI.
See here how to send commands to a MythTV backend.
See here how to control a MythTV recorder.
See here how to work with a MythTV encoder.