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](viewer info).

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.