Download the PHP package railroad/soundslice without Composer

On this page you can find all versions of the php package railroad/soundslice. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package soundslice

Endpoints and service for connecting your application to Soundslice via their API.

Soundslice API docs: https://www.soundslice.com/help/data-api/

Installation

Install

Available via Packagist.

Register Service Provider

Add the SoundsliceServiceProvider to your application's list of service-providers ("providers" property, array) in /config/app.php.

Publish Config

Run this command to publish the package's config file(s) to your application's config directory:

Provide Soundslice Credentials

Provide the following environmental variables:

See Lastpass Secure Note "Musora - Local .env" (in "Shared Railroad Web Development" -> "Local Dev" -> )

(For acceptance tests, copy .env.testing.example and rename it ".env.testing", and provide the respective environmental variables there. It's already added to .gitignore)

API Reference

Notes

endpoints

Prepend all endpoints below with /soundslice/.

Anything in curly braces is an inline parameter.

For example if below it says get/{slug}, then your endpoint for the slug foo would actually be /soundslice/get/foo.

Defaults

All optional booleans default to false unless noted otherwise.

List of methods available

Errors

All errors are available as an item in the Json response's errors array (which exists in place of the data array).

Example:

This is as per my attempts to understand the json-api docs.

Each error item will have the fields as per the example below:

status:

the HTTP status code applicable to this problem, expressed as a string value.

code:

an application-specific error code, expressed as a string value.

title:

a short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.

detail:

a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized

Validation Errors

Details

Will return 400 Bad Request with an "error" object as the data. The detail item in that error with have information about why the validation failed.

There is an item for each field that failed, and each field item will contain an item for each failure reason.

For example, say we were trying to create a new "baz". If the "foo" field failed because it was non-numeric and longer than 16 characters we'll see something like this:

If there was that failure - two validation failures on just one field, and then validation failure on a whole other field, it would look like this: (let's say the "artist" field is manditory)

Detail sub-values are a human-friendly reason for failure.

Methods

create score

PUT "create"

param data-type required optional
name string x
artist string x
folder-id string x
publicly-listed* boolean x
embed-white-list-only* boolean x
embed-globally* boolean x
printing-allowed boolean x

* For notes about these params see the "Create Score Parameter Notes" section below

Returns, on success


list scores

GET "list"

Returns, on success

Example (account in for this example only has two scores):


get score

GET "get/{slug}"

Returns, on success


delete score

DELETE "delete"

param data-type required
slug string yes

Returns, on success


move score

UNDER CONSTRUCTION

POST "move"

param data-type required
slug string yes

Returns, on success


folder create

PUT "folder/create"

param data-type required
name string yes
parent-id string

Returns, on success


folder delete

DELETE "folder/delete"

param data-type required
id string yes

Returns, on success


create notation

PUT "notation"

param data-type required
slug string yes
asset-url string yes

asset-url should be a publicly-accessible URL that provides the relevant media file (ex: musicxml file)

Returns, on success

Create Score Parameter Notes

"publicly-listed"

Specifies who can view the score on soundslice.com. (Embeds ignore this and use embed_status.)

false - “Only me”

true - “Anybody who knows its URL”

Embed options

Reference: Soundslice's embedding docs.

"embed-white-list-only"

false - Not restricted only to whitelist domains - defers to embed-globally option

true - Allowed only on whitelist domains

"embed-globally"

false - Disabled (default value, if not provided)

true - Allowed on any domain

A note about the embed-white-list-only and embed-globally options

These are options of this soundslice-integrating package that abstract options of the actual Soundslice API.

Thus, if you look directly at the Soundslice API you'll see this instead:

embed_status    Optional    
An integer specifying embed options. For more, see embedding docs.

1 — Disabled (default value, if not provided)
2 — Allowed on any domain
4 — Allowed on whitelist domains

This package determines which integer to specify for the that (embed_status) option the following way:

Just an FYI lest you look at soundslice's API docs when attempting to use this method of this integration package.


These are our test-cases

(in soundslice/tests/Acceptance/SoundsliceTest.php)

  1. create_score
    1. create_score_fails_folder_id_not_whole_number
    2. create_score_fails_folder_does_not_exist
    3. create_score_fails_already_exists
    4. create_score_validation_fail
  2. list
  3. get_score
    1. get_score_not_found
  4. delete_score
    1. delete_score_not_found
    2. delete_score_validation_failure
  5. create_folder
    1. create_nested_folder
    2. create_folder_validation_failure
    3. create_folder_failure_invalid_parent_id
  6. delete_folder
    1. delete_folder_not_found
    2. delete_folder_validation_failure
  7. create_notation
    1. create_notation_validation_failure
    2. create_notation_upload_more_than_one
    3. create_notation_with_same_values


All versions of soundslice with dependencies

PHP Build Version
Package Version
Requires php Version >=7.1.3
laravel/framework Version 5.6.*
guzzlehttp/guzzle Version ~6.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package railroad/soundslice contains the following files

Loading the files please wait ....