Contributing to
https://fckaf.de/jqc
## Agenda * [Who are We](#/whoami) * [What is Mixxx](#/what-is-mixxx) * [Mixxx governance](#/mixxx-governance) * [Technologies used by Mixxx](#/technologies) * [Making your first Pull Request](#/first-pr) * [Understanding the Bug Tracker](#/daschauer) * [Q&A](#/qna)
# $ whoami --- ## Daniel Schรผrmann / daschuer * Embedded systems developer * Mixxx Developer, first contributions in 2011 * focus: audio engine --- ## Harshit Maurya aka hacksdump * Final year CS student at IIT Roorkee, India * Full Stack Web, Desktop Developer * Audio programming and DSP * First Mixxx contribution: March 2020 * Mixxx focus areas: Core data architecture, UI Waveforms * Musician, amateur vocalist --- ## Tobias aka OsZ * House and Techno DJ / Linux enthusiast * first contribution to Mixxx in Dec 2019 * focused on Denon MC7000 mapping and documentation * Produces [tutorials for setting up Mixxx](https://youtube.com/playlist?list=PL3PuxeGz67B2bHIBbMzLCNXjYscKXQod_) * [DJ sets on Mixcloud](https://www.mixcloud.com/DJ_OsZ/) --- ## Niko/[Swiftb0y](https://github.com/Swiftb0y/)/[MixB](https://www.mixcloud.com/MixB/) * first year CS student from Germany * recently recruited into the mixxx core team * focus on controllers Notes: Nickname depending on where you look. mention CDJ RE project /// ## What is Mixxx? ---
Free and open source DJ software for Windows, macOS, and Linux
--- ### Mixxx history * 2002: creation as part of a PhD thesis * 2006: new development team, over 1.000.000 downloads/year * 2011: New lead developer Notes: * PhD on new interfaces for DJing by Tue haste andersen * development team lead by Adam Davison and Albert Santoni; focus on usability and stability; 1.000.000 downloads per year * RJ Ryan took over as Lead Developer --- ## ๐ demo time ๐
--- ### Become a Mixxx User * [Beginner DJ Links Collection](https://github.com/mixxxdj/mixxx/wiki/Beginner-Dj-Links) * [Mixxx Manual](https://mixxx.org/manual) /// ## Current State - [released 2.3 beta one year ago](https://mixxx.org/news/2020-06-07-mixxx-2-3-beta-released) - [very close to a stable 2.3 release](https://github.com/mixxxdj/mixxx/projects/2) Notes: * Importing data From Other DJ Software * Library and track organization using Color * Revamped Skin * Multithreaded audio analysis * Add FFMPEG decoder support * Move to CMAKE /// ## Mixxx governance --- [Mixxx code](https://github.com/mixxxdj/mixxx/) is hosted on github along with the [code for our website](https://github.com/mixxxdj/website/) and [the manual](https://github.com/mixxxdj/manual/). --- We consist of a [core team](https://mixxx.org/contact/#developers) as well as [more than 200 contributors](https://github.com/mixxxdj/mixxx/graphs/contributors) /// #### Technologies & Programming languages * Qt: GUI * XML: declarative Skins * C++: Qt- and performance-critical functionality * Javascript: Controller Mappings * Rust: gradually replacing C++ where possible ๐ฆ Notes: Qt = cute XML => QML+QtQuick Controller Mappings => + QML /// ## Contributing to Mixxx --- ## Who?
Everyone
--- ## What? * UI design (skining system) * Interaction with DJing hardware (controller scripting) * Graphics programming (waveform rendering) * realtime signal processing (audio engine) * SQLite database (audio library) * Web development (mixxx.org website) * Translation Notes: Looking for Graphics Programmers --- ## Where? * [User Forum](https://mixxx.discourse.group/): primary location for mixxx users to communicate. * [Developer Forum](https://mixxx.zulipchat.com/): primary location of mixxx developers and contributors to discuss features and make decisions open to anybody * [Bug tracker](https://bugs.launchpad.net/mixxx/) * [Code repository](https://github.com/mixxxdj/mixxx/): Code review only /// ## Making your first Pull Request --- Based on the [Github flow](https://guides.github.com/introduction/flow/) ![development cycle](https://mixxx.org/theme/images/developmentcycle.png) [Using git on the Mixxx Wiki](https://github.com/mixxxdj/mixxx/wiki/Using-Git) --- 0. Prerequisite: [Working git setup](https://docs.github.com/en/github/getting-started-with-github/set-up-git#setting-up-git) and [Github Account](https://github.com/join) 1. Get [Mixxx Source](https://github.com/mixxxdj/mixxx) 2. Compile on [Linux](https://github.com/mixxxdj/mixxx/wiki/Compiling%20on%20Linux)/ [MacOS](https://github.com/mixxxdj/mixxx/wiki/Compiling%20on%20macOS)/ [Windows](https://github.com/mixxxdj/mixxx/wiki/Compiling%20on%20Windows) 3. Get familiar with our [Contribution Guidelines](https://github.com/mixxxdj/mixxx/wiki/Contribution%20Guidelines) and [Coding Guidelines](https://github.com/mixxxdj/mixxx/wiki/Coding%20Guidelines) 4. Setup [pre-commit](https://pre-commit.com/#install) 5. Install your favorite IDE (See [Mixxx Wiki](https://github.com/mixxxdj/mixxx/wiki/Developer%20Tools#using-ides)) 6. [Find a bug to fix](https://bugs.launchpad.net/mixxx/) ([bugs tagged easy](https://bugs.launchpad.net/mixxx/+bugs?field.tag=easy)) / Propose a feature on [Zulip](https://mixxx.zulipchat.com/) --- yet another ๐ *demo time* ๐ Note: 1. switch scene into VM 1. go to mixxx repository 1. fork 1. checkout fork 1. install pre-commit 1. create feature branch 1. make changes 1. commit 1. file PR (either via github suggestion and normal) // ## Understanding the [bug tracker](https://bugs.launchpad.net/mixxx/) /// ## Testing /// # Q&A /// ## Thanks