{"id":16504841,"url":"https://github.com/spencerpark/mellowd-gradle-plugin","last_synced_at":"2026-04-28T18:02:17.398Z","repository":{"id":89301701,"uuid":"58494253","full_name":"SpencerPark/mellowd-gradle-plugin","owner":"SpencerPark","description":"A Gradle plugin for integrating MellowD compilation into your java-esque build cycle.","archived":false,"fork":false,"pushed_at":"2016-05-12T00:28:23.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-05T23:03:43.030Z","etag":null,"topics":["gradle-plugin","groovy","java","mellowd"],"latest_commit_sha":null,"homepage":null,"language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpencerPark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-10T21:19:57.000Z","updated_at":"2016-05-10T21:28:47.000Z","dependencies_parsed_at":"2023-07-19T02:31:44.551Z","dependency_job_id":null,"html_url":"https://github.com/SpencerPark/mellowd-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SpencerPark/mellowd-gradle-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpencerPark%2Fmellowd-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpencerPark%2Fmellowd-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpencerPark%2Fmellowd-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpencerPark%2Fmellowd-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpencerPark","download_url":"https://codeload.github.com/SpencerPark/mellowd-gradle-plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpencerPark%2Fmellowd-gradle-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32392304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gradle-plugin","groovy","java","mellowd"],"created_at":"2024-10-11T15:07:29.172Z","updated_at":"2026-04-28T18:02:17.384Z","avatar_url":"https://github.com/SpencerPark.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"mellowd-gradle-plugin\n=====================\n\nThis plugin integrates **MellowD** compilation right into your gradle build\ncycle. **MellowD** is a music description language that is the equivalent\nof sheet music in the form of a programming language. You can find out more\ninformation about **MellowD** over at the projects web site by clicking\n[here](http://spencerpark.github.io/MellowD/build/docs/docco/).\n\nApplying the plugin\n===================\nFor gradle versions **\u003c2.1** you can add the following to your build script:\n```gradle\nbuildscript {\n  repositories {\n    maven {\n      url \"https://plugins.gradle.org/m2/\"\n    }\n  }\n  dependencies {\n    classpath \"gradle.plugin.cas.cs4tb3:mellowd-gradle-plugin:1.0.2\"\n}\n\napply plugin: \"io.github.spencerpark.mellowd\"\n```\nThe newer versions (\u003e= 2.1) of gradle can use the following simpler \nnotation to apply the plugin:\n```gradle\nplugins {\n  id \"io.github.spencerpark.mellowd\" version \"1.0.2\"\n}\n```\n\nUsing the plugin\n================\nThis plugin was designed with java development in mind but works great with\nthe groovy and scala plugins as well. Simply add a `mellowd` folder to one\nof your source sets like you would normally add a `java` or `groovy` folder\nwhere you would put your java or groovy source.\n\nA standard project structure would look like the following in a java project:\n```\nprojectRoot\n└───main\n    ├───java\n    ├───mellowd\n    └───resources\n```\n\nAll of the **MellowD** source files would go into the mellowd folder and from\nhere all of your sources will be compiled and included in the resources for\nthe source set that the mellowd source set belongs to. This means that you\ncan treat the sources as playable music that is ready to go and inside your jar.\n\nConfiguring compilation options\n===============================\n\nSimilar to how you could configure your java source sets you can do the same\nwith mellowd's source sets including some extra options for compilation arguments.\n\nConfiguring a source set would look something like this for the `main` source set:\n```gradle\nsourceSets {\n    main {\n        mellowd {\n            exclude '**/Unwanted.mlod'\n        }\n    }\n}\n```\n\nActually editing the compilation options are done through the `mellowd`\ncontainer extension. \n\nYou can set options at the top level that will cascade\nthe value down to the following configurations. For example if you would like\nall of the configurations to be `.wav` files you can set this at the start.\nNote that you must set this before the blocks it will apply to, therefor\nalso meaning that you can change it lower down and it will only affect the\nconfigurations that follow.\n\nIndividual configurations are done inside a container for that source set\nand then again inside an extension named the same as the file name in lowercase\nwithout the extension. In the following example the tempo for the file\n`Sample1.mlod` in the main source set is set to 180 bpm.\n\n```gradle\nmellowd {\n    outputType = 'WAV'\n    main {\n        sample1 {\n            tempo = 180\n        }\n    }\n}\n```\n\nThe following configuration options are available:\n\n| key        | value                                                          | default|\n|------------|----------------------------------------------------------------|--------|\n| outputType | One of ['MIDI' or 'WAV']                                       | 'MIDI' |\n| tempo      | An integer \u003e0 describing the tempo in bpm                      | 120    |\n| timeSig    | A tuple describing the time signature [numerator, denominator] | [4, 4] |\n| verbose    | A boolean describing if the compiler should print some info    | false  |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspencerpark%2Fmellowd-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspencerpark%2Fmellowd-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspencerpark%2Fmellowd-gradle-plugin/lists"}