Introduction

Sibelius Cloud Publishing is a platform that enables a sheet music
publisher to sell digital sheet music through a web browser. With a Cloud
Publishing-enabled site, your customers can view, play, transpose, and purchase
scores using any current web browser or mobile device.

Sibelius Cloud Publishing replaces the Sibelius Scorch web browser plug-in
experience, originally introduced in 2001. Unlike Scorch, Sibelius Cloud
Publishing is completely plug-in free.

Sibelius Cloud Publishing forms part of the Avid MediaCentral platform.

Conventions used in this documentation

HTTP/REST request examples

Code examples are written in a language-agnostic style showing the HTTP call
and response. It doesn’t matter what technology/language you are running on
your server, so long as it can make HTTP/REST requests.

For example, a simple GET request and response to a familiar search engine
looks like this:

1
2
3
4
5
6
7
8
9
GET / HTTP/1.1
Host: www.google.com
Accept: */*

HTTP/1.1 200 OK
Date: Wed, 26 Oct 2016 01:17:29 GMT
Accept-Ranges: none
Vary: Accept-Encoding
Transfer-Encoding: chunked

Here’s an example of a POST request including a JSON payload:

1
2
3
4
5
6
7
8
POST /apis/avid.sibelius.publishing;version=2/publishers HTTP/1.1
Host: api.us-east-1.everywhere.avid.com
Content-Type: application/json
Cache-Control: no-cache

{
"key": "value"
}

Sometimes responses can be quite verbose, so to make examples clearer some
elements of a response may be truncated with an ellipsis (…) like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 1312
Date: Wed, 26 Oct 2016 01:39:51 GMT

{
"service": {
"healthStatus": "ok",
"healthVerifier": "default"
},
"connector": { … },
"route": [ … ]
}

Client-side (browser) code examples

When documenting client-side functionality, where all examples are written
in JavaScript:

1
console.log('this code is running inside a browser!');

How it works

Sibelius Cloud Publishing consists of three components, the publishing API
the viewer and the rendering service:

Publishing API

This is the core API that you work with as a digital sheet music publisher.
Currently, the API is available over HTTP/REST only. In the future, we’ll
also make it available on the Avid Bus.

The publishing API provides functionality for publishing, providing secure views
of, and otherwise managing your library of scores.

The API supports a variety of input formats:

  • Native Sibelius files - .sco and .sib
  • MusicXML - .mxl and .xml
  • PDF - .pdf

If you want to dive straight into API docs, here’s a link.

Viewer

The viewer allows a user to interact with a score in their browser, usually
embedded in an <iframe> in the users web browser, surrounded by your existing
website content. It takes care of displaying your scores in your customers web
browser.

The viewer provides the user with the ability to view, navigate, play back,
transpose and print your score. Viewer capabilities are finely controllable
on a per-score basis, via the API, allowing you to customise the experience to
fit your business and user needs.

The viewer also includes a client-side API, allowing you to respond to events
within the viewer from within your client-side web application code.

More details on the viewer can be found here.

Rendering service

The rendering service takes care of rendering your scores into flattened formats
that can be displayed in a web browser.

As it stands, you as a publisher won’t interact directly with the rendering
service - the task of deciding when a score needs to be rendered is taken care
of automatically by the publishing API itself.

The render service is in fact an automated, headless version of Sibelius, built
from the very same code that runs Sibelius itself.