From e9e4ef8966eaec192f957b43854370515036ab15 Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Wed, 31 May 2023 17:07:42 -0700 Subject: [PATCH 01/11] Updated README --- README.md | 149 ++++++++++++++++++------------------------------------ 1 file changed, 49 insertions(+), 100 deletions(-) diff --git a/README.md b/README.md index e517529..dbc8286 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + # midimech ![midimech](https://i.imgur.com/iNKaTi3.png) @@ -44,15 +45,12 @@ LinnStrument Community Discord: https://discord.gg/h2BcrzmTXe - Like the LinnStrument's layout, it is also isomorphic (the same chord and scale shapes can be played anywhere) - The most common chords and scales are far easier to play and remember than other layouts. - Extended range compared to standard +5 tuning, making room for using a split. -- Unlike piano, instrument splits can overlap. - Less finger stretching than other layouts when playing chords, which may help ergonomically. - Arpeggios are quite smooth, as you're simply walking stacked shapes. ## Cheat Sheet -![Cheat Sheet](https://i.imgur.com/FJgBnh5.png) - -[PDF Version](https://github.com/flipcoder/midimech-resources/blob/main/midimech-cheatsheet.pdf) +[View Full PDF](https://github.com/flipcoder/mech-theory/blob/main/midimech-cheatsheet.pdf) ## Important Notes @@ -72,9 +70,9 @@ That being said, I hope you enjoy it and have fun! - [Download (Win)](https://github.com/flipcoder/midimech/releases) -Note: These builds are not always up to date, but they're easier to get working. +After downloading, make sure to follow the instructions under `Setup`. -Alternatively, you can use the process below to run it from the repository. +*Note: These builds are not always up to date.* ### Mac, Linux, and Running from Git @@ -116,145 +114,95 @@ python3 midimech.py ### Layout -Each row consists of a whole tone scale and each row is separated by fourths. This has a number of advantages you'll see below. +Each row consists of a whole tone scale and each row is separated by fourths. The above cheat sheet document contains many common shapes used for chords and scales. -### Basic Scales +### Scales + +By default, the C major scale is colored. You can highlight different notes by cycling the scale (SCL) and mode (MOD) buttons. Notice how only the colors change, and not the note positions. -The major/minor scales are shaped with the "3-4" pattern. 3 notes on first row, then 4 notes on next row, then repeat moving over 1 space, making runs fit across the fingers easily. -Here's what it looks like: +You can change the starting note of the scale by using the transpose (TR) buttons, as well as positioning the board using the move (MOV) buttons. -``` -4567 -123 -``` +### Chords -All the modes for this, (such as lydian, dorian, etc.) are accessible by picking a different starting note. +Refer to the cheat sheet for a listing of many common chord shapes. -For example, if you start the scale on 6, it becomes a minor scale. - -### Pentatonic Scales - -Similarly, the pentatonic scale modes fit the "2-3" pattern: +To play a chord, simply position the dotted black square of the chord on the note you want to play, and make the shape with your fingers. For example a C major chord is made by playing the notes: ``` -345 -12 + G +C E ``` -### Melodic Minor Scale +## Velocity Curve -Melodic minor has a "2-5" pattern: +You can modify the velocity curve using a decimal value. Lower values are more sensitive. The default is 1.0. ``` -34567 - 12 +velocity_curve=0.5 ``` -## More Scales - -Once you become comfortable with this layout, you can introduce the harder scales into your playing: - -### Blues Scale - -Here's a fun one. Depending on the virtual instrument used, I prefer to visualize the blues scale as a 2-3 pattern and bending into the "blue note". - -The shape in that case is this: +You can also clamp the midi velocity value to a min (default: 0) and max (default: 127). ``` -345 -12 +min_velocity=0 +max_velocity=127 ``` -The '2' in this shape is the tonic of the blues scale and the blue note is accessed by bending between 4 and 5. When playing the scale, start on the note position labeled '2' above. Note that the numbers here are just the numbers inside the shape in order, so they do not correspond with actual intervals. - -To hold the blue note, simply wiggle your finger between 4 and 5 in the shape above or bend up from 4. That usually sounds cool. - -If you're playing an instrument without bend, the blues scale looks like this: - -``` -4 6 - 235 - 1 -``` +## Launchpad -Or: +Supported launchpads are automatically detected on program start. Support for these will improve over time. +If you're on the LinnStrument and don't want your launchpad used, simply set it to false: ``` - 6 -235 - 1 4 +launchpad=false ``` -### Harmonic Major Scale +### Vibrato -This is the same 3-4 pattern, but the 6th note is flat: +Midimech adds a cool feature to the Launchpad where it can detect wiggling a note to create a vibrato effect. This is enabled by default and mapped to CC0. If your synth supports CC0 vibrato, you should hear the vibrato activate by rocking your finger back and forth from left to right while pressing the note down. +You can disable it in settings.ini using: ``` -6 - 45 7 - 123 +vibrato=off ``` -Or: +There is also experimental support for pitch wheel vibrato using: ``` - 45 7 - 123 6 +vibrato=pitch ``` -### Harmonic Minor Scale +## Color Schemes -This one is a little tricky at first: +### LinnStrument Colors -``` - 6 -345 7 - 12 -``` - -Or: +LinnStrument colors can be changed in the settings using `lights` and `split_lights` for each split respectively. ``` -7 - 6 - 345 - 12 +lights=1,9,9,2,2,3,3,5,8,8,11,11 +split_lights=4,7,5,7,5,5,7,5,7,5,7,5 ``` +The color numbers here are the values used by the LinnStrument. -You might prefer to think about this as a mode of Ionian Augmented intead, which is the 3-4 shape but with a sharp 5: +### LaunchPad & App Colors -``` -5 - 4 67 - 123 -``` - -Or: +You can change the colors of the launchpad and in the app by setting `colors` and `split_colors` similarly as above. This supports both hex values (starting with #) and common web color names. ``` - 4 67 - 123 5 +colors=red,darkred,orange,goldenrod,yellow,green,darkolivegreen,blue,darkslateblue,indigo,darkorchid,pink ``` -## Circle of 5ths (Advanced) - -### Key Signature - -A benefit of this layout is the ability to identify and switch key signatures easily based on position. As you shift to the left, you add flats. To the right, you add sharps. You walk these in a zig-zag motion between both whole tone scales. Follow the shape of these numbers to see the pattern (from 1 to 7). - -``` - 2468 -1357 -``` +## Lite Mode (low GFX) -If note 1 is C (no sharps or flats in key signature), moving to 3 adds 2 sharps to the key signature. Simiarly if you're moving from 3 to 1, it adds two flats (or subtracts sharps). +To activate lite mode, run midimech with `--lite` on the command line or set `lite=true` in your settings. -### Brightness +This disables extra graphics and chord analysis in the app to reduce latency on low end systems. -Since the layout resembles the circle of 5ths, the further right you go from your tonic, the brighter than sound. The further left, the darker the sound. This is because the layout resembles a staggered circle of 5ths which corresponds with musical brightness. +## One Channel Mode -If you take the 3-4 pattern described above and shift your tonic inside of it, the further the tonic is to the left, the brighter the mode, from lydian all the way to locrian (left to right). This happens with other scale shapes as well. +MPE mode can be toggled in the app using the `MPE` button. +To send to a specific midi channel, set `one_channel` to the specific channel number. The default is 0, which indicates using MPE. Clicking `MPE` in the app toggles this between 0 (MPE) and 1 (first channel), otherwise the value in settings is used. ## Visualizer @@ -280,13 +228,14 @@ In Synthesia settings, set it as an output device for note lights. This program is built using the following projects and libraries: -- [Pygame](https://github.com/pygame/pygame) +- [Pygame](https://github.com/pygame/pygame) and [Pygame-CE](https://github.com/pygame-community/pygame-ce) - [Pygame_GUI](https://github.com/MyreMylar/pygame_gui) - [RtMidi2](https://github.com/gesellkammer/rtmidi2) -- [PyMsgbox](https://github.com/asweigart/pymsgbox) - [PyGLM](https://github.com/Zuzu-Typ/PyGLM) - [Launchpad-Py](https://github.com/FMMT666/launchpad.py) by FMMT666 ([CC Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/)) -- [musicpy](https://github.com/Rainbow-Dreamer/musicpy) +- [musicpy](https://github.com/Rainbow-Dreamer/musicpy) for Chord Analysis +- [webcolors](https://pypi.org/project/webcolors/) +- [pyyaml](https://pypi.org/project/PyYAML/) Thank you! From 71f1117e9eed991837f922d130ca1d829f9cba8a Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Wed, 31 May 2023 17:11:33 -0700 Subject: [PATCH 02/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dbc8286..cc6bd53 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ LinnStrument Community Discord: https://discord.gg/h2BcrzmTXe ## Cheat Sheet -[View Full PDF](https://github.com/flipcoder/mech-theory/blob/main/midimech-cheatsheet.pdf) +[View Full PDF](https://github.com/flipcoder/mech-theory/blob/main/mech-cheatsheet.pdf) ## Important Notes From 1e972be10ed30bdc645f50b5b7a912409eb422aa Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Wed, 31 May 2023 17:22:02 -0700 Subject: [PATCH 03/11] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cc6bd53..b1465e1 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,10 @@ LinnStrument Community Discord: https://discord.gg/h2BcrzmTXe ## Cheat Sheet -[View Full PDF](https://github.com/flipcoder/mech-theory/blob/main/mech-cheatsheet.pdf) +![Page 1](https://raw.githubusercontent.com/flipcoder/mech-theory/main/mech-cheatsheet-0.png) +![Page 2](https://raw.githubusercontent.com/flipcoder/mech-theory/main/mech-cheatsheet-1.png) + +[View PDF](https://github.com/flipcoder/mech-theory/blob/main/mech-cheatsheet.pdf) ## Important Notes From a707e0e34525d80a4a92300d0726a1b763a43bce Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Sat, 3 Jun 2023 16:18:55 -0700 Subject: [PATCH 04/11] Update README.md --- README.md | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index b1465e1..71099d4 100644 --- a/README.md +++ b/README.md @@ -7,12 +7,10 @@ **IN DEVELOPMENT** -Midimech is an alternative musical note layout system for the LinnStrument and LaunchPad X. It uses a wholetone-based isomorphic layout. I was surprised to find out this layout and its variants were not in common usage, despite being incredibly convincing. Lacking an isomorphic controller, I used to map this layout to my mechanical keyboard to play. Because of this, my friends and I referred to it as "playing the mech". The layout could also be referred to as Wholetone +5 or Diagonal Wicki-Hayden but I still prefer calling it mech. - -This project intends to bring the layout to wherever it is capable of being played, starting with the LinnStrument and Launchpad X. +Midimech is an alternative musical note layout system for the LinnStrument and LaunchPad X. It uses a wholetone-based isomorphic layout. I was surprised to find out this layout and its variants were not in common usage, despite being incredibly convincing. This project intends to help popularize the layout and bring it to more people. Midimech supports: -- Use the mech layout on LinnStrument and LaunchPad X +- Using the mech layout on LinnStrument and LaunchPad X - Vibrato detection on LaunchPad X (wiggle your notes!) - Bigger range than the default LinnStrument layout - Synthesia/DAW visualization for learning songs @@ -23,7 +21,7 @@ Midimech supports: - Custom Lights - Great for playing fast arpeggios and piano runs -**Please read the instructions and important notes before usage. Have fun!** +**Please read the setup instructions and important notes before usage. Have fun!** License: MIT (see *Attributions*) @@ -55,15 +53,23 @@ LinnStrument Community Discord: https://discord.gg/h2BcrzmTXe [View PDF](https://github.com/flipcoder/mech-theory/blob/main/mech-cheatsheet.pdf) -## Important Notes +## What is the Mech Layout? + +The name comes from the fact that originally when I discovered it, I didn't yet have an isomorphic controller, so my friends and I used to map it to our mechanical keyboards to play. Because of this, we referred to it as "playing the mech". After getting a LinnStrument and LaunchPad, I've continued using this name for the layout itself. It could also be referred to as the "wholetone layout" or "grid-based Wicki-Hayden" but I still prefer calling it mech. + +In the layout, each row consists of a whole tone scale and is separated by fourths. The above cheat sheet document contains many common shapes used for chords and scales. + +The more you play it, the more you'll notice it is strangely easier than other instrument layouts to learn and play, making it quite fun. Its relation to the circle of 5ths makes certain music theory concepts easier to visualize and apply as well. -So far, this has mostly been tested on the LinnStrument 128 version. If you own the 200-note version, please feel free to test it and let me know how this works for you. +## Important Notes / Troubleshooting -Midimech sends midi commands to your midi controller and does NOT replace the firmware of your device. It changes certain settings for the program to function and resets them to common values after ending the program. +So far, this has mostly been tested on the LinnStrument 128 and LaunchPad X. If you own the LinnStrument 200, it might be less stable, so let me know if you run into any issues. I'm saving up for a LinnStrument 200 so hit that donate button if you want to help out. :) -This program is *in development*, so some things may be buggy. If a device persists in a different state after ending the program (such as if a crash occurs), try running the program again and closing it. Otherwise try reconnecting or resetting it. +Midimech sends midi commands to your midi controller and does not replace the firmware of your device. It changes certain settings for the program to function and resets them to common values after ending the program. -Because it changes the setup of the LinnStrument during usage, it is only recommended for people that are comfortable with setting up and configuring the Linnstrument. +This program is *in development*, so some things may be buggy. If a device persists in a different state after ending the program (such as if a crash occurs), try running the program again and closing it. Otherwise try reconnecting or resetting your LinnStrument. + +If you have issues with LinnStrument connectivity when the program starts, try recreating the virtual midi device before you start it. That being said, I hope you enjoy it and have fun! @@ -115,10 +121,6 @@ python3 midimech.py ## How to Play -### Layout - -Each row consists of a whole tone scale and each row is separated by fourths. The above cheat sheet document contains many common shapes used for chords and scales. - ### Scales By default, the C major scale is colored. You can highlight different notes by cycling the scale (SCL) and mode (MOD) buttons. Notice how only the colors change, and not the note positions. From 5fb3f74d9e25933b97d2bcc177a82925b8e7db4f Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Sat, 3 Jun 2023 23:22:48 -0700 Subject: [PATCH 05/11] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 71099d4..4327082 100644 --- a/README.md +++ b/README.md @@ -55,11 +55,11 @@ LinnStrument Community Discord: https://discord.gg/h2BcrzmTXe ## What is the Mech Layout? -The name comes from the fact that originally when I discovered it, I didn't yet have an isomorphic controller, so my friends and I used to map it to our mechanical keyboards to play. Because of this, we referred to it as "playing the mech". After getting a LinnStrument and LaunchPad, I've continued using this name for the layout itself. It could also be referred to as the "wholetone layout" or "grid-based Wicki-Hayden" but I still prefer calling it mech. +When I originally discovered this layout, I didn't yet have an isomorphic controller, so my friends and I would map it to my mechanical keyboard to play. Because of this, we referred to it as "playing the mech". After getting a LinnStrument and LaunchPad, I've continued using this name for the layout itself. It could also be referred to as the "wholetone layout" or "grid-based Wicki-Hayden" but I still prefer calling it mech. -In the layout, each row consists of a whole tone scale and is separated by fourths. The above cheat sheet document contains many common shapes used for chords and scales. +In the layout, each row consists of a whole tone scale separated by fourths. The above cheat sheet document contains many common chord and scale shapes. -The more you play it, the more you'll notice it is strangely easier than other instrument layouts to learn and play, making it quite fun. Its relation to the circle of 5ths makes certain music theory concepts easier to visualize and apply as well. +The more you play, the more you'll notice it is much easier than other instrument layouts to learn and play, making it quite fun. Its relation to the circle of 5ths makes certain music theory concepts easier to visualize and apply as well. ## Important Notes / Troubleshooting From fc82fa9c4fc917924e8bb28448ee71ad63396df4 Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Fri, 9 Jun 2023 17:05:55 -0700 Subject: [PATCH 06/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4327082..904b47e 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ![midimech](https://i.imgur.com/iNKaTi3.png) -[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://paypal.me/GradyOConnell?country.x=US&locale.x=en_US) +Buy Me A Coffee **IN DEVELOPMENT** From 9acb4c7f5622fb1964eb4bd8329acb1e71bffcf1 Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Fri, 16 Jun 2023 12:51:24 -0700 Subject: [PATCH 07/11] Create CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 128 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..9f3b47e --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +flipcoder@gmail.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. From 48597154a76bf740c5cc7b1820df9d74a4558814 Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Sat, 24 Jun 2023 13:32:16 -0700 Subject: [PATCH 08/11] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 133 ++++----------------------------------------- 1 file changed, 11 insertions(+), 122 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 9f3b47e..08a0b06 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,128 +1,17 @@ -# Contributor Covenant Code of Conduct +# Code of Conduct -## Our Pledge +When contributing and participating in project development and discussion, +members are expected to act in accordance to this rule: -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. +Treat others with kindness and decency, as the way you would wish to be treated in their position. -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. +Please be respectful of the wide range of cultural and religious differences +that exist in the world and be open to apologizing when conduct is unwelcome +or extending forgiveness to those willing to change for the better. -## Our Standards +All involvement on the project should be productive, positive, and welcoming. +Keep discussions project-focused and avoid escalating personal matters. -Examples of behavior that contributes to a positive environment for our -community include: +If someone has made you feel unwelcome, please contact the developers. -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -flipcoder@gmail.com. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. - -Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. +Thank you and have fun! From 4017b181c2d703c8e8eb9ffb3931508f37264ceb Mon Sep 17 00:00:00 2001 From: Grady O'Connell Date: Wed, 22 Nov 2023 00:22:39 -0800 Subject: [PATCH 09/11] Merged and added VERSION --- VERSION | Bin 0 -> 16 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 VERSION diff --git a/VERSION b/VERSION new file mode 100644 index 0000000000000000000000000000000000000000..fee80aac403c87fa5ffc24a4c53efb243e00f334 GIT binary patch literal 16 VcmezW&wxRX!4!xM7 Date: Wed, 22 Nov 2023 00:24:28 -0800 Subject: [PATCH 10/11] Update VERSION --- VERSION | Bin 16 -> 11 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/VERSION b/VERSION index fee80aac403c87fa5ffc24a4c53efb243e00f334..3f3984615b12dae813053d0abe83a02155a755f8 100644 GIT binary patch literal 11 QcmXqD&|@$KVgm*)00yi8`~Uy| literal 16 VcmezW&wxRX!4!xM7 Date: Wed, 22 Nov 2023 00:24:40 -0800 Subject: [PATCH 11/11] Update VERSION --- VERSION | Bin 11 -> 6 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/VERSION b/VERSION index 3f3984615b12dae813053d0abe83a02155a755f8..8f0916f768f0487bcf8d33827ce2c8dcecb645c1 100644 GIT binary patch literal 6 NcmXreGu1QT0ssTl0Q>*| literal 11 QcmXqD&|@$KVgm*)00yi8`~Uy|