Skip to content

Commit

Permalink
1.3o_2 (#73)
Browse files Browse the repository at this point in the history
Adds:
    Alt row count colors, shoutout to https://github.com/edne !
    00 and FE song screen colors, shoutout to https://github.com/koi-ikeno !
    RG35XX build, thanks to https://github.com/jpma29 for help with testing!
Fixes:
    Root folder detection causing issues with importing samples on some systems (thank you jpma29)
    Name generator causing issues with importing samples on some systems (thanks Dosly)
    Actually random names (fixed random seed, thx Eldsvåda:)
    Save as fixed on MIYOO systems (thx Pret4t)
Other:
    Refactor help legend

* Restore legacy samplelib root

The new way of identifying the sample lib root caused issues in W32, Miyoo
Restored legacy method for now

* Fix for name generator

Adresses issue with not being able to import samples for some systems
Fill differance of old name and new name with spaces
Overwrite with new name after, preserving string terminator
Bump build number

* Config options to change SongView FE/00 colors (#72)

* Config options to change songview FE/00 colors
* Description to documentation and xml files

* Seed name correctly

* Fix for save as

Don't use relative paths, always use root reference.
Small refactor

* Alternate between two colors in row count

Refactor and change default colors
Update documentation and include in packaging

Squashed commit of the following:

commit 84fdbf7
commit b1726fe
commit 9eb99c8

* Refactor help legend

Use switch instead of string compare

* Documentation and colors

Update config_xml.md with entry on new colors
Clarify how to use slice mode
Unify example config.xml
Change default colors

---------

Co-authored-by: Edoardo N <[email protected]>
Co-authored-by: koisignal <[email protected]>
Co-authored-by: djdiskmachine <[email protected]>
  • Loading branch information
4 people authored Feb 3, 2024
1 parent 32eabdd commit a3ec0ca
Show file tree
Hide file tree
Showing 27 changed files with 343 additions and 751 deletions.
11 changes: 10 additions & 1 deletion docs/LGPTConfiguration.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,16 @@ LittleGPTracker uses 4 colours to do all the drawing. If you want, you can redef

- `HICOLOR1`: row count in song screen

- `HICOLOR2`: cursor color
- `HICOLOR2`: inverted color

- `CURSORCOLOR` : Cursor color

- `ROWCOLOR1` : Row count color 1

- `ROWCOLOR2` : Row count color 2

- `ALTROWNUMBER` : How many rows before alternating between ROWCOLOR1/2



All colors are defined by a set of hexadecimal triplet for RGB. Here's an example:
Expand Down
565 changes: 0 additions & 565 deletions docs/What-is-LittleGPTracker.md

This file was deleted.

28 changes: 14 additions & 14 deletions docs/wiki/What-is-LittleGPTracker.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
# What is LittleGPTracker?
[*LittleGPTracker*](http://www.10pm.org/nostromo/lgpt/) *(a.k.a piggy tracker) is a sample based tracker originally programed for the gamepark handhelds and PSP but now also available for Microsoft Windows and ~~Mac OSX~~. It implements a user interface similar to the refined track-by-joypad software* [*littlesounddj*](http://www.littlesounddj.com/)*. Piggy currently supports 8 monophonic 8Bit/16Bit/44.1Khz stereo channels as well as 16 channel midi output. Piggy is currently under development and the latest versions of the program (along with unstable ghetto builds) can be found at* [*https://github.com/djdiskmachine/LittleGPTracker/releases/*](https://github.com/djdiskmachine/LittleGPTracker/releases/)*.*
[*LittleGPTracker*](http://www.10pm.org/nostromo/lgpt/) *(a.k.a piggy tracker) is a sample based tracker originally programed for the gamepark handhelds and PSP but now also available for Microsoft Windows and ~~Mac OSX~~. It implements a user interface similar to the refined track-by-joypad software* [*littlesounddj*](http://www.littlesounddj.com/)*. Piggy currently supports 8 monophonic 8Bit/16Bit/44.1Khz stereo channels as well as 16 channel midi output. Piggy is currently under development and the latest versions of the program (along with beta builds) can be found at* [*https://github.com/djdiskmachine/LittleGPTracker/releases/*](https://github.com/djdiskmachine/LittleGPTracker/releases/)*.*
You are reading a reference manual for those who are comfortable with LSDj or trackers in general. An alternative introduction to LittleGPTracker is our very own [quick_start_guide](https://web.archive.org/web/20170310001122/wiki.littlegptracker.com/doku.php?id=lgpt:quick_start_guide). If you have a question this manual does not answer, please join the [Discord](https://discord.com/invite/NMQVbrFgr3) or in #hexawe on efnet. Don't forget to check out the advanced [tips_tricks](https://web.archive.org/web/20170310001122/wiki.littlegptracker.com/doku.php?id=lgpt:tips_tricks)
If you want to grab some sounds to get off the ground quickly, or want to hear and see what other people have been doing with piggy tracker, download some of the .zip archives from [http://hexawe.net](http://hexawe.net/)!

# Files
## Installation

Grab the installation package for your platform from the [download page](http://www.10pm.org/nostromo/lgpt/download.php). Extract the files from the archive & copy it where you like. after that you can run the executable type for your system, located in the lgpt root or in the /bin folder. linux users may need to set the binary as executable (chmod a+x lgpt.deb-exe).
Grab the installation package for your platform from the [download page](https://github.com/djdiskmachine/LittleGPTracker/releases/). If the package contains an INSTALL_HOW_TO.txt, follow those instructions. Otherwise, extract the files from the archive & copy it where you like. After that you can run the executable type for your system, located in the lgpt root or in the /bin folder. linux users may need to set the binary as executable (chmod a+x lgpt.deb-exe).
If you're using PPSSPP, LittleGPTracker might boot with a black screen. To workaround
this, set Software rendering **or** change rendering resolution
this, set Software rendering **or** change rendering resolution after LGPT has started

## Directory Structure
- **bin**
- **lgpt.exe / lgpt.deb-exe / lgpt.app** … desktop executable file
- **SDL.dll** … dependency
- **stderr.txt** … debugging output file (created at startup and removed upon exit)
- **stdout.txt** … debugging output file (created at startup and removed upon exit)
- **docs**
- **readme.txt**credits and links to piggy resources
- **revision.txt**version history, describes how new features work if they're not included in the manual yet
- **lgpt10k**Project folder to the author's entry for the [10k compo](http://www.10pm.org/nostromo/lgpt/10k.php) (M-.-n : Tardline) Note: all projects start with lgpt*
- **README.txt** … credits and changelog
- **config_xml.md**config.xml documentation
- **INSTALL_HOW_TO.txt**How to install for tricky systems
- **BETA**Example song by djdiskmachine showcasing some new featres. Note: all projects start with lgpt_*
- **Samples** … each project loads wav files from it's own Samples directory
- **lgptsav.dat** … all projects store their data in xml files called lgptsav.dat
- **lgptNew** … another piggy project, following the lgpt* naming convention for projects
Expand Down Expand Up @@ -65,12 +65,12 @@ Important Points to Remember:
## config.xml

The config file is used to tweak certain global parameters of the application. It is not mandatory to have one but it will allow you to change key mapping, color scheme, key repeat setting and other.
For more details check out the [config](http://wiki.littlegptracker.com/doku.php?id=lgpt:config) page
For more details check out the [config](https://github.com/djdiskmachine/LittleGPTracker/blob/master/docs/wiki/config_xml.md) page

# Controls & Moves

If you want to change the default mapping in LGPT, you will want to edit the confiq.xml. More information can be found on this on the [config](http://wiki.littlegptracker.com/doku.php?id=lgpt:config)
If you want to augment the mapping controls to add a usb footpedal, another joystick, macros using additional buttons on your device, or even control of piggy via midi commands, check out [mapping](http://wiki.littlegptracker.com/doku.php?id=lgpt:mapping)
If you want to change the default mapping in LGPT, you will want to edit the config.xml. More information can be found on this on the [config](https://github.com/djdiskmachine/LittleGPTracker/blob/master/docs/wiki/config_xml.md)
If you want to augment the mapping controls to add a usb footpedal, another joystick, macros using additional buttons on your device, or even control of piggy via midi commands, check out [mapping](https://github.com/djdiskmachine/LittleGPTracker/blob/master/docs/wiki/mapping_xml.md)

## Key Mapping

Expand All @@ -82,7 +82,7 @@ If you want to augment the mapping controls to add a usb footpedal, another joys
- RT: Right trigger (shoulder button).
- LT: Left trigger (shoulder button).

*GP2X Specific notice*: The A & B buttons are “inverted” (when compared to GP32 and LSDJ on Gameboy). This can be modified in the [config](http://wiki.littlegptracker.com/doku.php?id=lgpt:config).
*GP2X Specific notice*: The A & B buttons are “inverted” (when compared to GP32 and LSDJ on Gameboy). This can be modified in the [config](https://github.com/djdiskmachine/LittleGPTracker/blob/master/docs/wiki/config_xml.md).

The moves are close to what you would pull in lsdj, but shoulder buttons replace the lsdj SELECT key. Most of the time, the equivalent of SELECT is the shoulder button opposite the other buttons you're pushing. For example SELECT+B is LT+B, SELECT+RIGHT is RT+RIGHT.

Expand Down Expand Up @@ -340,7 +340,7 @@ In oscillator modes, under 0x80 the feedback of specified length is added to the
- pingpong will start at "start" and bounce the loop between loop start and loop end.
- oscillator is a special mode where the loop selection (from loop start to loop end) is taken as oscillator data and automatically tuned. Experiment with different settings, do not forget 'root note' is your friend to tune the oscillator back in a useful range
- looper sync will automatically tune a loop so that it plays exactly 16 bars. Use the root note to play twice faster/slower
- slicer will cut the sample into "slices" amount of samples, mapped from C-2 up to amount of slices
- slicer will cut the sample into "slices" amount of samples, mapped from C-2 (the lowest possible note) up to amount of slices. Example: slices == 4 will give you four slices mapped to C-2, C#-2, D-2, D#-2
- **start:** start point of the sample regardless of if loop is enabled; in hex
- **loop Start:** start point of the sample when loop is enabled; in hex
- **loop End:** end point of the sample; in hex. You can play samples backwards by setting the end value lower than the start!
Expand Down Expand Up @@ -561,7 +561,7 @@ The following values can set for RENDER in the config.xml:
- FILERT: Real Time file rendering: Renders the mixdown to file WHILE playing audio. This allow to render live mode tweaks directly.
- FILESPLITRT: Real Time file split: same except all channels are rendered separately.

Here is an example of the proper XML syntax: (See [The config.xml setup guide](http://wiki.littlegptracker.com/doku.php?id=lgpt:config))
Here is an example of the proper XML syntax: (See [The config.xml setup guide](https://github.com/djdiskmachine/LittleGPTracker/blob/master/docs/wiki/config_xml.md))

```
<RENDER value = "FILERT" />
Expand All @@ -571,4 +571,4 @@ Remember, any of the config.xml parameters can be specified to lgpt on the comma

```
lgpt -RENDER=FILE
```
```
21 changes: 16 additions & 5 deletions docs/wiki/config_xml.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,21 +56,32 @@ Be careful as large values take a lot of juice and interfere with sound playback

## Screen Colors

LittleGPTracker uses 4 colours to do all the drawing. If you want, you can redefine them using the following parameters:
LittleGPTracker uses 6 colours to do all the drawing. If you want, you can redefine them using the following parameters:

- `BACKGROUND`: color of the background
- `FOREGROUND`: color of the foreground
- `HICOLOR1`: row count in song screen
- `HICOLOR2`: cursor color
- `SONGVIEW_FE`: color of the chain "FE" in song screen
- `SONGVIEW_00`: color of the chain "00" in song screen
- `ROWCOLOR1`: Row count color 1
- `ROWCOLOR2`: Row count color 2
- `ALTROWNUMBER`: How many rows for each rowcolor

All colors are defined by a set of hexadecimal triplet for RGB. Here's an example:

```
<CONFIG>
<BACKGROUND value="505444" />
<FOREGROUND value="FFFFFF" /> <!-- text and cursor in cursor -->
<HICOLOR1 value="F41B38" /> <!-- row count in song screen -->
<HICOLOR2 value="FF0000" /> <!-- cursor-->
<HICOLOR1 value="F41B38" /> <!-- Highlight color 1 -->
<HICOLOR2 value="FF0000" /> <!-- Highlight color 2 -->
<SONGVIEW_FE value="A55B8F" /> <!-- color of the chain "FE" in song screen-->
<SONGVIEW_00 value="853B6F" /> <!-- color of the chain "00" in song screen-->
<CURSORCOLOR value = "FF00DD"/> <!--Cursor color-->
<ROWCOLOR1 value = "BA28F9"/> <!--Row count color 1 -->
<ROWCOLOR2 value = "FF00FF"/> <!--Row count color 2-->
<ALTROWNUMBER value = "4"/> <!--How many rows of each ROWCOLOR-->
</CONFIG>
```

Expand Down Expand Up @@ -120,7 +131,7 @@ Here's an example that maps the start button to the X on PSP:
</CONFIG>
```

And if you want to configure a USB joypad, you'll have to use the [mapping.xml](https://wiki.littlegptracker.com/doku.php?id=lgpt:mapping "lgpt:mapping")
And if you want to configure a USB joypad, you'll have to use the [mapping.xml](https://github.com/djdiskmachine/LittleGPTracker/blob/master/docs/wiki/mapping_xml.md "lgpt:mapping")

## Auto repeat

Expand Down Expand Up @@ -197,7 +208,7 @@ This setting is also W32 only. It can be use to delay the output of midi by a ce

also note: Because MIDI on PC is a bitch to synchronise and that the ONLY system that kind of worked was, surprisingly, the old MMSYSTEM audio system, I've re-enabled it as an option. So, if you need good midi sync or good timing, you will NEED to use this. The latency isn't great but in our case it's not a problem. To enable the old ass audio system and enjoy pretty stable midi out, add an entry in the config.xml with <AUDIOAPI value='MMSYSTEM' />

##Log Dumping
## Log Dumping

Get piggy dumping a log on the terminal or to a .log file, useful for debugging crashes or making a mapping.xml for your usb pad:

Expand Down
9 changes: 9 additions & 0 deletions projects/resources/CHIP/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,13 @@
<!-- Uncomment to render
<RENDER value="FILE" />
-->
<!-- Default colors below -->
<BACKGROUND value = "1D0A1F"/> <!--Background color-->
<FOREGROUND value = "F5EBFF"/> <!--Text color-->
<HICOLOR1 value = "B750D1"/> <!--Highlight color 1-->
<HICOLOR2 value = "DB33DB"/> <!--Highlight color 2-->
<CURSORCOLOR value = "FF00DD"/> <!--Cursor color-->
<ROWCOLOR1 value = "BA28F9"/> <!--Row count color 1 -->
<ROWCOLOR2 value = "FF00FF"/> <!--Row count color 2-->
<ALTROWNUMBER value = "4"/> <!--How many rows before alternating-->
</CONFIG>
19 changes: 12 additions & 7 deletions projects/resources/DEB/config.xml
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
<CONFIG>
<DUMPEVENT value="YES"/>
<SCREENMULT value="2"/> <!-- increase screen size -->
<!--
<BACKGROUND value="313131" />
<FOREGROUND value="7f7f31" />
<HICOLOR1 value="ff9900" /> <!-- row count in song screen -->
<HICOLOR2 value="cc7a00" /> <!-- cursor-->
-->
<!--
<KEY_A value="key:0:x"/>
<KEY_B value="key:0:z"/>
Expand All @@ -21,4 +14,16 @@
<KEY_START value="key:0:return" />
-->
<!-- Default colors below -->
<BACKGROUND value = "1D0A1F"/> <!--Background color-->
<FOREGROUND value = "F5EBFF"/> <!--Text color-->
<HICOLOR1 value = "B750D1"/> <!--Highlight color 1-->
<HICOLOR2 value = "DB33DB"/> <!--Highlight color 2-->
<CURSORCOLOR value = "FF00DD"/> <!--Cursor color-->
<SONGVIEW_FE value = "A55B8F" /> <!--Alt chain color1-->
<SONGVIEW_00 value = "853B6F" /> <!--Alt chain color2-->
<ROWCOLOR1 value = "BA28F9"/> <!--Row count color 1 -->
<ROWCOLOR2 value = "FF00FF"/> <!--Row count color 2-->
<ALTROWNUMBER value = "4"/> <!--How many rows before alternating-->

</CONFIG>
12 changes: 12 additions & 0 deletions projects/resources/MIYOO/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,16 @@ root of your sd card.
<!--
<RENDER value="FILE"/>
-->
<!-- Default colors below -->
<BACKGROUND value = "1D0A1F"/> <!--Background color-->
<FOREGROUND value = "F5EBFF"/> <!--Text color-->
<HICOLOR1 value = "B750D1"/> <!--Highlight color 1-->
<HICOLOR2 value = "DB33DB"/> <!--Highlight color 2-->
<CURSORCOLOR value = "FF00DD"/> <!--Cursor color-->
<SONGVIEW_FE value = "A55B8F" /> <!--Alt chain color1-->
<SONGVIEW_00 value = "853B6F" /> <!--Alt chain color2-->
<ROWCOLOR1 value = "BA28F9"/> <!--Row count color 1 -->
<ROWCOLOR2 value = "FF00FF"/> <!--Row count color 2-->
<ALTROWNUMBER value = "4"/> <!--How many rows before alternating-->

</CONFIG>
12 changes: 12 additions & 0 deletions projects/resources/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,16 @@
<!-- Uncomment to render
<RENDER value="FILE" />
-->
<!-- Default colors below -->
<BACKGROUND value = "1D0A1F"/> <!--Background color-->
<FOREGROUND value = "F5EBFF"/> <!--Text color-->
<HICOLOR1 value = "B750D1"/> <!--Highlight color 1-->
<HICOLOR2 value = "DB33DB"/> <!--Highlight color 2-->
<CURSORCOLOR value = "FF00DD"/> <!--Cursor color-->
<SONGVIEW_FE value = "A55B8F" /> <!--Alt chain color1-->
<SONGVIEW_00 value = "853B6F" /> <!--Alt chain color2-->
<ROWCOLOR1 value = "BA28F9"/> <!--Row count color 1 -->
<ROWCOLOR2 value = "FF00FF"/> <!--Row count color 2-->
<ALTROWNUMBER value = "4"/> <!--How many rows before alternating-->

</CONFIG>
30 changes: 30 additions & 0 deletions projects/resources/packaging/config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!-- CONFIG-CHIP.xml-->
<CONFIG>


<FULLSCREEN value='YES'/>
<DUMPEVENT value='YES'/>
<!-- use if you want to put your tracks somewhere special
Must be absolute path
<ROOTFOLDER value="/home/chip/lgpt/"/>
-->
<!-- Useful if you don't want to clone your samplelib
Must be absolute path
<SAMPLELIB value="/home/chip/lgpt/"/>
-->
<!-- Uncomment to render
<RENDER value="FILE" />
-->
<!-- Default colors below -->
<BACKGROUND value = "1D0A1F"/> <!--Background color-->
<FOREGROUND value = "F5EBFF"/> <!--Text color-->
<HICOLOR1 value = "B750D1"/> <!--Highlight color 1-->
<HICOLOR2 value = "DB33DB"/> <!--Highlight color 2-->
<CURSORCOLOR value = "FF00DD"/> <!--Cursor color-->
<SONGVIEW_FE value = "A55B8F" /> <!--Alt chain color1-->
<SONGVIEW_00 value = "853B6F" /> <!--Alt chain color2-->
<ROWCOLOR1 value = "BA28F9"/> <!--Row count color 1 -->
<ROWCOLOR2 value = "FF00FF"/> <!--Row count color 2-->
<ALTROWNUMBER value = "4"/> <!--How many rows before alternating-->

</CONFIG>
3 changes: 2 additions & 1 deletion projects/resources/packaging/lgpt_package.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
cd $(git rev-parse --show-toplevel)/projects/
BUILD="$(grep -oP 'BUILD_COUNT [^"]*"\K[^"]*' ../sources/Application/Model/Project.h)"
VERSION=1.3o$BUILD
VERSION=1.3o_$BUILD
PACKAGE=LGPT-$VERSION.zip

collect_resources() { #1PLATFORM #2lgpt.*-exe
Expand All @@ -25,6 +25,7 @@ collect_resources() { #1PLATFORM #2lgpt.*-exe
CONTENTS="README.txt samplelib/ lgpt_BETA/"
zip -9 -r ../../$PACKAGE $CONTENTS
CONTENTS="../../../docs/wiki/What-is-LittleGPTracker.md"
CONTENTS+=" ../../../docs/wiki/config_xml.md"
CONTENTS+=" ../$1/*.txt"
zip -9 ../../$PACKAGE -j $CONTENTS && cd -
}
Expand Down
22 changes: 21 additions & 1 deletion sources/Application/AppWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,15 @@ AppWindow *instance=0 ;

GUIColor AppWindow::backgroundColor_(0x1D,0x0A,0x1F);
GUIColor AppWindow::normalColor_ (0xF5,0xEB,0xFF);
GUIColor AppWindow::songviewfeColor_(0xA5,0x5B,0x8F);
GUIColor AppWindow::songview00Color_(0x85,0x3B,0x6F);
GUIColor AppWindow::highlightColor_ (0xB7,0x50,0xD1);
GUIColor AppWindow::highlight2Color_(0xDB,0x33,0xDB);
GUIColor AppWindow::consoleColor_ (0x00,0xFF,0x00);
GUIColor AppWindow::cursorColor_ (0xFF,0x00,0x8C);
GUIColor AppWindow::rownumberColor_ (0xBA,0x28,0xF9);
GUIColor AppWindow::rownumber2Color_(0xFF,0x00,0xFF);


int AppWindow::charWidth_=8;
int AppWindow::charHeight_=8 ;
Expand Down Expand Up @@ -93,9 +98,13 @@ AppWindow::AppWindow(I_GUIWindowImp &imp):GUIWindow(imp) {

defineColor("BACKGROUND",backgroundColor_) ;
defineColor("FOREGROUND",normalColor_) ;
defineColor("SONGVIEW_FE",songviewfeColor_) ;
defineColor("SONGVIEW_00",songview00Color_) ;
defineColor("HICOLOR1",highlightColor_) ;
defineColor("HICOLOR2",highlight2Color_) ;
defineColor("CURSORCOLOR",cursorColor_) ;
defineColor("ROWCOLOR1",rownumberColor_);
defineColor("ROWCOLOR2",rownumber2Color_);

GUIWindow::Clear(backgroundColor_) ;

Expand Down Expand Up @@ -234,7 +243,18 @@ void AppWindow::Flush() {
case CD_CURSOR:
gcolor=cursorColor_ ;
break ;

case CD_SONGVIEWFE:
gcolor = songviewfeColor_;
break;
case CD_SONGVIEW00:
gcolor = songview00Color_;
break;
case CD_ROW:
gcolor = rownumberColor_;
break;
case CD_ROW2:
gcolor = rownumber2Color_;
break;
default:
NAssert(0) ;
break ;
Expand Down
4 changes: 4 additions & 0 deletions sources/Application/AppWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,14 @@ class AppWindow:public GUIWindow,I_Observer,Status {

static GUIColor backgroundColor_ ;
static GUIColor normalColor_ ;
static GUIColor songviewfeColor_ ;
static GUIColor songview00Color_ ;
static GUIColor highlight2Color_;
static GUIColor highlightColor_;
static GUIColor consoleColor_;
static GUIColor cursorColor_;
static GUIColor rownumberColor_;
static GUIColor rownumber2Color_;

ColorDefinition colorIndex_ ;

Expand Down
2 changes: 1 addition & 1 deletion sources/Application/Model/Project.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

#define PROJECT_NUMBER "1.3"
#define PROJECT_RELEASE "o"
#define BUILD_COUNT "-1"
#define BUILD_COUNT "2"


#define MAX_TAP 3
Expand Down
Loading

0 comments on commit a3ec0ca

Please sign in to comment.