{"id":16377722,"url":"https://github.com/walshydev/streamdeck4j","last_synced_at":"2025-10-26T10:30:45.821Z","repository":{"id":39960461,"uuid":"168867319","full_name":"WalshyDev/StreamDeck4J","owner":"WalshyDev","description":"Java library for the StreamDeckSDK","archived":false,"fork":false,"pushed_at":"2022-05-20T20:55:11.000Z","size":85,"stargazers_count":10,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-31T18:12:14.379Z","etag":null,"topics":["java","streamdeck","streamdecksdk"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WalshyDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-02T19:08:43.000Z","updated_at":"2024-06-12T17:11:51.000Z","dependencies_parsed_at":"2022-08-24T19:02:24.391Z","dependency_job_id":null,"html_url":"https://github.com/WalshyDev/StreamDeck4J","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalshyDev%2FStreamDeck4J","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalshyDev%2FStreamDeck4J/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalshyDev%2FStreamDeck4J/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalshyDev%2FStreamDeck4J/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WalshyDev","download_url":"https://codeload.github.com/WalshyDev/StreamDeck4J/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238310163,"owners_count":19450802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["java","streamdeck","streamdecksdk"],"created_at":"2024-10-11T03:43:51.396Z","updated_at":"2025-10-26T10:30:40.539Z","avatar_url":"https://github.com/WalshyDev.png","language":"Java","readme":"# StreamDeck4J\nThe StreamDeck library for Java!\n\n## Usage\nCreate an instance of `StreamDeck`, add any listeners you may want (You can either use `EventListener` or the more preferred `ListenerAdapter` for this). Finally, just call `connect()`!\n\n### Example code\nFor a **full** example check our the `src/main/test/java/Example` class.\n```java\npublic static void main(String[] args) {\n    StreamDeck4J streamDeck4J = new StreamDeck4J();\n    streamDeck4J.addListener(new AbstractListener() {\n        @Override\n        public void onActionAppeared(ActionAppearedEvent event) {\n            streamDeck4J.setTitle(\n                event.getContext(),\n                \"Made With\\nStreamDeck4J!\",\n                Destination.HARDWARE_AND_SOFTWARE\n            );\n        }\n    });\n    streamDeck4J.connect(args);\n}\n```\n\n\n## Building for the StreamDeck\n1. Compile your jar with your build tool\n2. Use Launch4J (http://launch4j.sourceforge.net) to make it an exe\n3. Put the exe in your `manifest.json` as the `CodePath`\n4. Profit!\n\n## How to add?\n### Maven\n```xml\n\u003crepositories\u003e\n\t\u003crepository\u003e\n\t    \u003cid\u003ejitpack.io\u003c/id\u003e\n\t\t\u003curl\u003ehttps://jitpack.io\u003c/url\u003e\n\t\u003c/repository\u003e\n\u003c/repositories\u003e\n\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.WalshyDev\u003c/groupId\u003e\n    \u003cartifactId\u003eStreamDeck4J\u003c/artifactId\u003e\n    \u003cversion\u003e1.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n```groovy\nrepositories {\n    maven { url 'https://jitpack.io' }\n}\n\ndependencies {\n    implementation 'com.github.WalshyDev:StreamDeck4J:1.1'\n}\n```\n\n### Logging Framework - SLF4J\nSD4J uses [SLF4J](https://www.slf4j.org/) to log its messages.\n\nThat means you should add some SLF4J implementation to your build path in addition to SD4J.\nIf no implementation is found, following message will be printed to the console on startup:\n```\nSLF4J: Failed to load class \"org.slf4j.impl.StaticLoggerBinder\".\nSLF4J: Defaulting to no-operation (NOP) logger implementation\nSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.\n```\n\nThe most popular implementations are [Log4j 2](https://logging.apache.org/log4j/2.x/) and [Logback](https://logback.qos.ch/). [Here's a nice example of a logback.xml](https://gist.github.com/WalshyDev/dfcd1f155b71c68bf596deb44bf6e15f)\n\u003c!-- TODO: Implement fallback logger --\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalshydev%2Fstreamdeck4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalshydev%2Fstreamdeck4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalshydev%2Fstreamdeck4j/lists"}