diff --git a/recipe/0002-mvm-audio/recipe.md b/recipe/0002-mvm-audio/recipe.md index aac587a1c..a37013ddf 100644 --- a/recipe/0002-mvm-audio/recipe.md +++ b/recipe/0002-mvm-audio/recipe.md @@ -4,7 +4,7 @@ The simplest viable manifest for audio content. This pattern presents a single a ## Implementation Notes -The implementation is identical to the [image example][0001], except that the content is audio and the canvas has the `duration` property instead of the `height` and `width` properties. The value of the `duration` property [must be a floating point number](https://iiif.io/api/presentation/3.0/#duration). If the duration value you have is an integer, it therefore needs to be written with at least a decimal point and a trailing zero: `1985.0` rather than `1985`. +The implementation is identical to the [image example][0001], except that the content is audio and the canvas has the `duration` property instead of the `height` and `width` properties. The value of the `duration` property [must be a positive number](https://iiif.io/api/presentation/3.0/#duration) of seconds, such as `1985` or `1985.024`. ## Example diff --git a/recipe/0002-mvm-audio/v4/recipe.md b/recipe/0002-mvm-audio/v4/recipe.md index 05ba5fff3..8873979b3 100644 --- a/recipe/0002-mvm-audio/v4/recipe.md +++ b/recipe/0002-mvm-audio/v4/recipe.md @@ -6,7 +6,7 @@ The simplest viable manifest for audio content. This pattern presents a single a This illustrates the mandatory structure and properties of a manifest, with the simplest possible audio content. -Audio resources are contained inside a [Timeline](https://iiif.io/api/presentation/4.0/#timeline), which is required to have a `duration` property with the time, in seconds, of the audio resource to be included in the timeline. The value of the `duration` property [must be a floating point number](https://iiif.io/api/presentation/4.0/model/#duration). If the duration value you have is an integer, it needs to be written with at least a decimal point and a trailing zero: `1985.0` rather than `1985`. +Audio resources are contained inside a [Timeline](https://iiif.io/api/presentation/4.0/#timeline), which is required to have a `duration` property with the time, in seconds, of the audio resource to be included in the timeline. The value of the `duration` property [must be a positive number](https://iiif.io/api/presentation/4.0/model/#duration), such as `1985` or `1985.024`. The `items` property of the Canvas is a list of annotation pages. In this case there is only one. The `items` property of the annotation page is a list of annotations. Again, in this case there is only one. This annotation links the audio resource and the timeline. The `body` of the annotation is an audio file, the url of which is the `id` property of the body. The duration of the audio file, in seconds, is given and here matches the timeline's `duration` property exactly. Matching is not required, but mismatches will change how much of the audio is heard and may change what happens after the audio finishes playing. The `target` property tells us both that the audio file is associated with the entirety of the container and that the container is a timeline, and the `motivation` property of "painting" tells us that the audio file is the content of the container. diff --git a/recipe/0003-mvm-video/recipe.md b/recipe/0003-mvm-video/recipe.md index 5653be3d3..85b9b037b 100644 --- a/recipe/0003-mvm-video/recipe.md +++ b/recipe/0003-mvm-video/recipe.md @@ -4,7 +4,7 @@ The simplest viable manifest for video content. This pattern presents a single v ## Implementation Notes -The implementation is identical to the [image example][0001], except that the content is video and the canvas has the `duration` property additional to the `height` and `width` properties. The value of the `duration` property [must be a floating point number](https://iiif.io/api/presentation/3.0/#duration). If the duration value you have is an integer, it therefore needs to be written with at least a decimal point and a trailing zero: `1985.0` rather than `1985`. +The implementation is identical to the [image example][0001], except that the content is video and the canvas has the `duration` property additional to the `height` and `width` properties. The value of the `duration` property [must be a positive number](https://iiif.io/api/presentation/3.0/#duration) of seconds, such as `572` or `572.034`. ## Example diff --git a/recipe/0003-mvm-video/v4/recipe.md b/recipe/0003-mvm-video/v4/recipe.md index 5ba32fc9b..ec495e8c4 100644 --- a/recipe/0003-mvm-video/v4/recipe.md +++ b/recipe/0003-mvm-video/v4/recipe.md @@ -8,7 +8,7 @@ This illustrates the mandatory structure and properties of a manifest, with the The implementation is substantively identical to the [image example][0001-4], except that the content is video and the Canvas has the `duration` property additional to the `height` and `width` properties. See [Simplest Manifest - Image][0001-4] for enumeration and brief description of required properties. -The value of the `duration` property [must be a floating point number](https://iiif.io/api/presentation/4.0/model/#duration). If the duration value you have is an integer, it therefore needs to be written with at least a decimal point and a trailing zero: `1985.0` rather than `1985`. +The value of the `duration` property [must be a positive number](https://iiif.io/api/presentation/4.0/model/#duration) of seconds, such as `572` or `572.034`. The duration of the video file, in seconds, is given and here matches the Canvas's `duration` property exactly. Matching is not required, but mismatches will change how much of the video is presented and may change what happens after the video finishes playing. Likewise, the pixel dimensions of the video file match the dimensionless coordinate space units. Matching is also not required here, but mismatches may change the visual display.