Giter Site home page Giter Site logo

crescendo's Introduction

Crescendo

Crescendo Logo

Discord

Table of Contents

๐Ÿ”‡ Crescendo

Annoyed by the PHUUOOOOOOOOOOOM sound the League client makes after you've accepted a queue? Wish it'd just shut up until you loaded into champion select? Crescendo runs in the background and will automatically mute your League when you've accepted or declined the ready check.

Setup

Requirements

  • This is an application for League of Legends, so ensure you have the League Client installed first.

Installation

  1. To download, click the Releases link on the right to download the latest version.
    • If you are a Windows User, a message may show up that prevents Crescendo from running. To bypass this, click on More Info > Allow anyway
  2. To launch League with Crescendo, simply open League how you normally would. Crescendo will run in the background.

Development

License

This project operates under the GPL 3 license. Pull requests are always welcome!

How To Contribute

For development support, please visit the Discord.

To begin development on your own fork, click the "Fork" button at the top right of the project page.

To clone the repository to start developing, click on the green "Code" button at the top right of the page.

  • Copy the displayed URL
  • In your terminal, enter the command git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY

Project Structure

The following includes a summary of the major files and directories in this project

  • Crescendo.sln: The Microsoft Visual Studio Solution file for the Crescendo project, defining project structure, configurations, and dependencies within the Visual Studio development environment.
  • Crescendo directory: Contains the application's main files
    • Properties directory: Configuration files and settings for the project
    • App.config: XML-based configuration settings
    • Crescendo.cs: Main class managing system tray functionality, menu items, and League of Legends interactions, including dynamic sound control based on in-game states.
    • LeagueConnection.cs: Manages a WebSocket connection with the League of Legends client, providing methods to connect, disconnect, handle events, and make requests to the League Client Update API.
    • LeagueUtils.cs: Provides static methods to query and interact with the League of Legends client process.
    • Program.cs: Serves as the main entry point for the application, initializing and running the Crescendo class.
    • SimpleJson.cs: Provides functionality for handling JSON serialization and deserialization.
    • VolumeMixer.cs: Uses COM interfaces to interact with Windows audio controls, specifically muting and unmuting sessions.

Changelog

v1.1.0 (Latest)

  • Resolved issues where Crescendo would fail to mute League of Legends with certain configurations.
  • If Crescendo fails to detect the League client (indicated by a grayscale icon), please try running it as administrator.

v1.0.0

  • Initial release!

FAQ

Is this approved by Riot?
Cresendo conforms to both the general Riot Developer policies and the League Client development policies, and it is registered on Riot's developer portal. While this doesn't mean that Riot explicitly approves the application or supports it in any way, it makes it increasingly unlikely that using this application will risk your account. This comment by RiotSargonas explains more about Riot's approach to applications like this one.

How do I uninstall?
Since Crescendo doesn't actually install anything, removing it is as simple as deleting the file from your Downloads folder!

Wow this is amazing! Do you have any other cool programs?
shameless plug start
As a matter of fact I do! I created Mimic, which is a client on your mobile phone. I also created Deceive, which allows you to appear offline to all your friends. Finally, I created Sentinel, which gives you proper desktop notifications when you receive a new message or invite on League.
shameless plug end

Support and Feedback

  • Need help, have a feature suggestion, or just want to talk? Join the Discord!

crescendo's People

Contributors

alexreyne avatar m-heck avatar molenzwiebel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

crescendo's Issues

VolumeControl is null

In getVolumeObject, it cannot find the pid associated with league in the list, so it never goes inside the if (cpid == pid) loop.
So volumeControl variable stays null whatever happens.
That makes impossible for VolumeMixer.GetApplicationMute(league.UXPid) to have the Value.
Since the volumeControl variable is also used by the SetApplicationMute function, that makes it impossible to mute it even if we bypass the previous step.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.