shithub: m8c

Download patch

ref: b6cb29d201b51063b2af26b28a24553c3596151d
parent: ac8bc97d53c960cf0ba0b658092d09f162228665
author: Jonne Kokkonen <jonne.kokkonen@gmail.com>
date: Sun Oct 1 18:26:10 EDT 2023

fix bug with pre-big font firmwares and wait for device mode, update readme about prebuilt pkgs

--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # m8c
 
-# Introduction
+## Introduction
 
 The [Dirtywave M8 Tracker](https://dirtywave.com/products/m8-tracker) is a portable sequencer and synthesizer, featuring 8 tracks of assignable instruments such as FM, waveform synthesis, virtual analog, sample playback, and MIDI output. It is powered by a [Teensy](https://www.pjrc.com/teensy/) micro-controller and inspired by the Gameboy tracker [Little Sound DJ](https://www.littlesounddj.com/lsd/index.php).
 
@@ -22,47 +22,60 @@
 
 -------
 
-# Installation
+## Installation
 
-## Windows / MacOS
+### Windows / MacOS
 
 There are prebuilt binaries available in the [releases section](https://github.com/laamaa/m8c/releases/) for Windows and recent versions of MacOS.
 
-## Linux / MacOS (building from source)
+### Linux
 
-These instructions are tested with Raspberry Pi 3 B+ and Raspberry Pi OS with desktop (March 4 2021 release), but should apply for other Debian/Ubuntu flavors as well. The begining on the build process on OSX is slightly different at the start, and then the same once packages are installed.
+There are packages available for Fedora Linux and NixOS, or you can build the program from source.
 
-The instructions assume that you already have a working Linux desktop installation with an internet connection.
+#### Fedora
+``` sh
+sudo dnf copr enable laamaa/m8c
+sudo dnf install m8c
+```
 
-Open Terminal and run the following commands:
+#### NixOS
+``` sh
+nix-env -iA m8c-stable -f https://github.com/laamaa/m8c/archive/refs/heads/main.tar.gz
+```
 
-### Install required packages (Raspberry Pi, Linux)
+### Building from source code
 
+#### Install dependencies
+
+You will need git, gcc, pkg-config, make and the development headers for libsdl2 and libserialport.
+
+##### Linux (Ubuntu)
 ```
-sudo apt update && sudo apt install -y git gcc make libsdl2-dev libserialport-dev
+sudo apt update && sudo apt install -y git gcc pkg-config make libsdl2-dev libserialport-dev
 ```
-### Install required packages (OSX)
 
-This assumes you have [installed brew](https://docs.brew.sh/Installation)
+##### MacOS
 
+This assumes you have [installed brew](https://docs.brew.sh/Installation)
 ```
 brew update && brew install git gcc make sdl2 libserialport pkg-config
 ```
-### Download source code (All)
 
+#### Download source code
+
 ```
 mkdir code && cd code
 git clone https://github.com/laamaa/m8c.git
- ```
+```
 
-### Build the program
+#### Build the program
 
 ```
 cd m8c
 make
- ```
+```
 
-### Start the program
+#### Start the program
 
 Connect the M8 or Teensy (with headless firmware) to your computer and start the program. It should automatically detect your device.
 
@@ -146,16 +159,13 @@
 crw-rw---- 1 root dialout 166, 0 Jan  8 14:51 /dev/ttyACM0
 ```
 
-This shows that the serial port is owned by the user 'root' and the group 'dialout'. Both the user and the group have read/write permissions. To add a user to the group, run this command, replacing 'dialout' with the group shown on your own system:
+In this case the serial port is owned by the user 'root' and the group 'dialout'. Both the user and the group have read/write permissions. To add a user to the group, run this command, replacing 'dialout' with the group shown on your own system:
 
-    sudo adduser $USER dialout
+``` sh
+sudo adduser $USER dialout
+```
 
 You may need to log out and back in or even fully reboot the system for this change to take effect, but this will hopefully fix the problem. Please see [this issue for more details](https://github.com/laamaa/m8c/issues/20).
 
------------
 
-### Bonus content: quickly install m8c locally with nix
 
-``` sh
-nix-env -iA m8c-stable -f https://github.com/laamaa/m8c/archive/refs/heads/main.tar.gz
-```
--- a/src/render.c
+++ b/src/render.c
@@ -307,5 +307,6 @@
 
 void screensaver_destroy() {
   fx_cube_destroy();
+  set_large_mode(0);
   SDL_LogDebug(SDL_LOG_CATEGORY_APPLICATION, "Screensaver destroyed");
 }
--