Giter Club home page Giter Club logo

littlegptracker's People

Contributors

djdiskmachine avatar fgaz avatar infu-av avatar koi-ikeno avatar mackemint avatar mdashdotdashn avatar peterswimm avatar superusercode avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

littlegptracker's Issues

Miyoo: Double-assigned buttons from default keymap and mapping.xml

There is a default keymap that is applied before the mapping.xml is loaded. Since Miyoo uses key commands instead of button commands, buttons function even without any assignments in the mapping.xml. However, this also means that the mappings in the mapping.xml conflict with the default ones, leading to buttons being double-assigned

Rename random name

The character cursor isn't shown when the cursor is positioned on an empty spot
Start with an empty name

Bittboy builds?

Hello! I use LGPT on Powkiddy V90 and I use the Bittboy build for it. I build the 1.3o_2 myself and I've been running my projects on it for a bit and everything seems to work just fine.

What's required to bring Bittboy builds back? I've read they were dropped because of lack of testers, what kind of testing is needed?

Also to everyone involved -- fantastic job!

"Error Code: 139" When Launching Versions After 1.4.0 on Miyoo Mini Plus

Hi,

I encountered an issue with the Miyoo Mini Plus when trying to launch versions 1.4.0 and 1.4.1.

I attempted to launch version 1.4.1 on my Miyoo Mini Plus running Onion OS 1.4.3, but it failed to start and displayed the error message: "The program exited unexpectedly. Error code: 139."

The same issue occurred with version 1.4.0, but version 1.3o_2 works without any problems. I was able to load and play a sample song, as well as create a new song with version 1.3o_2.

Here is the log file for both versions 1.4.0 and 1.4.1 (they are identical):

[AUDIO] Audio object initialised with
[AUDIO] Api:
[AUDIO] Device:
[AUDIO] Buffer size:1024
[AUDIO] Pre Buffer Count:8
[CONFIG] Got value for ROOTFOLDER=/mnt/SDCARD/Tracks
[DISPLAY] Using driver fbcon. Screen (640,480) Bpp:32
[DISPLAY] Creating SDL Window (640,480)
[DISPLAY] Preparing fonts
[DISPLAY] Preparing font cache
[CONFIG] Got value for BACKGROUND=1D0A1F
[CONFIG] Got value for FOREGROUND=F5EBFF
[DISPLAY] Preparing full font cache

I am new to this kind of community and having almost no technical knowledges, so I apologize if this issue is not relevant.

Best regards,
imdkm

Status of the project re. upstream and licensing

Hi! I'm the packager of upstream lgpt for NixOS, and now that this fork got a stable release I'm considering it for inclusion/replacement of lgpt, but there are a couple issues stopping me.

  1. The relationship of this project with upstream is unclear. "LittleGPTracker" is @Mdashdotdashn's project, having two projects with the same name is confusing. I can see two possible solutions.
    1. @Mdashdotdashn agrees to make you a maintainer of the upstream project, or nominates this fork as successor.
    2. The name of this fork is changed. It does not have to be totally different. It can be as simple as LittleGPTracker-ng or LittleGPTracker-enhanced.
  2. Most importantly, the change to CC-BY-NC-SA is unfortunate, because it isn't a FOSS license due to the NC clause. It prevents inclusion in many distros, and imposes heavy limitations. Furthermore, Creative Commons is not recommended for code. Could you consider reverting to MIT while it's still possible, or switching to another FOSS license intended for code (GPL, EUPL, MPL, BSD...)?

[Request] MacOS build

Hello, thanks for keeping alive this lovely tracker.
The current build only has OSX 32 bits, that cannot be run in newer MacOS 64 bits.

Please if a build can be made for macOS High Sierra 10.13.4 or newer
it would be super awesome.

I think github actions can use macos versions for building artifacts.

Thanks again for this work of love ❤️

Utilize status bar at the top

Currently the row of text at the very top of the screen is used to display some information, but could display more.

For example, currently when saving a project, there is no feedback when it has finished. This could be remedied by displaying the messages "Saving..." then "Saved!" to update the user on the progress.

The same thing applies to using commands like cut, copy, and paste. Currently it is hard to know if there is something in the cut/copy buffer, and whether or not a Copy command was successful. When the user enters selection mode, the status bar can inform the user by displaying "Selecting...", and then updating the user on what it's doing by displaying messages like "Cut!", "Copied!", or "Pasted!".

These messages could be displayed from the right edge, to avoid displaying over the information on the left side of the status row. Or to draw attention to itself, it could display on the left side, temporarily displaying over the information that was there.

Save Song during playback should stop playback for the user

If audio is currently running and the user tries to save the project, the current software shows a pop-up that tells the user that it can't save during playback.

I suggest the pop-up asks if the user would like to stop playback and save the project. The options should be "Yes" and "No". The preselected option should be "No", to avoid stopping audio by mistake. Pressing B should automatically choose "No" as well. I do not know if it's suitable that pressing START should act the same as pressing A, confirming the currently highlighted option, or if it should select "Yes" for the user.

If the user selects "Yes", the software stops the playback and saves the project. If the user selects "No", nothing happens.

Prompting the user while song is playing

Break up 3 of issue #58

When loading project while playing, I'd like the following flow:
Allow the user to enter song load screen.
When selecting a project to load, prompt the user with "Load and stop playback loosing unsaved progress?" or equivalent.

B for no and Start for yes is great, but without the need to press A afterwards.

ignore irrelevant values when using config.xml psp

It appears that the PSP build of 1.3o_alpha-5 fails to open when the "SCREENMULT" value is present in config.xml.

It would be helpful if the PSP build could ignore (presumably) irrelevant values when parsing config.xml, so users can maintain a single config.xml across platforms. Unsure if there are build-specific features like this already present.

MIDI functionality

I've been using LGPT for a couple of weeks now and it's awesome! Thank you for maintaining and bringing it into the 2020s!

I'm experimenting with sequencing synths and drum machines via MIDI and am experiencing some bugs/quirks/missing features:

  • Channel mutes do not work on MIDI channels

  • it would be nice to have a MCHD command for sending chords to MIDI instruments.
    Usage would be identical to the ARPG command: Select rootnote, add up to four notes to make a chord

  • VOLM command sends CC7 (channel volume) to the respective MIDI track instead of note on velocity.
    While it is nice to have access to CC7 from the phrase screen, it would be great to be able to play with MIDI velocity (maybe with a MVEL command?) For example FM synths respond nicely to velocity!
    Now this is probably not super trivial, as it would require to have the velocity be baked into the NOTE ON byte for each note.

I'm aware that MIDI is not the primary focus of LGPT, but I would be very happy to see these features implemented. I took a look at the code and was able to identify some areas of interest. My programming knowledge unfortunately is not up to the task ...

Difference in Tuning Between Pre-Listened and Imported Samples

Samples that are imported and used with default instrument settings are roughly one half step higher in pitch compared to how they sounded when previewed in the sample browser. Adjusting the detune to zero resolves this issue (although I'm not entirely sure if this results in the exact same tuning). However, the detune is intended to be neutral at 7f.

Quick command for PANIC, Save, and Save As

Having a quick way to force stop the LittleGPTracker engine seems like a sane thing. Sometimes sounds need to be stopped in cases of feedback in a room, or an instrument setting that has gone out of control. In some programs this is labeled "PANIC" or "STOP" or "ALL SOUNDS OFF". MIDI CC 120 is the MIDI standard for All Sounds Off. This would need to be sent to MIDI instruments. The LittleGPTracker audio engine would also need to stop, maybe forcefully.

I suggest L+R+START+SELECT as an input for this action. Since MIDI messages and sounds might need to be stopped even when playback when not running, this would need to be available even when LitlteGPTracker isn't in playing mode.

On the topic of quick commands, I also suggest them for Save and Save As.

For Save, a suitable input combination could be SELECT+START, START, START. This would give the user a prompt in the style of "Do you want to save?", preselected to "Yes".

For Save As, a suitable input combination could be SELECT+START, START, SELECT+START. This would give the user a prompt to name the new project. The name could potentially be the current name of the project, with an incrementing number at the end. So for lgpt_PROJECT it would automatically suggest lgpt_PROJECT01 to avoid saving over the already existing project. Using Save As on lgpt_PROJECT01 would suggest lgpt_PROJECT02, and so on.

Inconsistent B channel hopping

Using B, left / right to hop between channels does not work if a channel is empty
In the below scenario its possible to hop between phrases in chains 00 and 01 but not to 02

00 01 - - 02

If the chain next to the current phrase contains - - the action should automatically jump to the next available chain.

install guide

please can you explain how to install files on miyoo mini plus?

Color themes & user manual

Hi guys,

The old version had a txt file with a few example color themes, the one I had contained:

green
<BACKGROUND value="000000"/> <!-- BACKGROUND-->
<FOREGROUND value="44C7B6"/> <!-- song name -->
<HICOLOR1   value="145452"/> <!-- row count in song screen -->
<HICOLOR2   value="00FFF7"/> <!-- cursor-->
blue
<BACKGROUND value="000000"/> <!-- BACKGROUND-->
<FOREGROUND value="D1D1D1"/> <!-- song name -->
<HICOLOR1   value="35748B"/> <!-- row count in song screen -->
<HICOLOR2   value="2EB7D9"/> <!-- cursor-->
granate
<BACKGROUND value="070040"/> <!-- BACKGROUND-->
<FOREGROUND value="FF3333"/> <!-- song name -->
<HICOLOR1   value="8F1A35"/> <!-- row count in song screen -->
<HICOLOR2   value="FF4800"/> <!-- cursor-->
msdos
<BACKGROUND value="0F0099"/> <!-- BACKGROUND-->
<FOREGROUND value="DEDEDE"/> <!-- song name -->
<HICOLOR1   value="9C9C9C"/> <!-- row count in song screen -->
<HICOLOR2   value="FC6500"/> <!-- cursor-->
B/W
<BACKGROUND value="000000"/> <!-- BACKGROUND-->
<FOREGROUND value="FFFFFF"/> <!-- song name -->
<HICOLOR1   value="545454"/> <!-- row count in song screen -->
<HICOLOR2   value="A8A8A8"/> <!-- cursor-->
kammo
<BACKGROUND value="24230B"/> <!-- BACKGROUND-->
<FOREGROUND value="C2FFDA"/> <!-- song name -->
<HICOLOR1   value="415E22"/> <!-- row count in song screen -->
<HICOLOR2   value="09700C"/> <!-- cursor-->

There are new possible colors settings now:

  <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-->

I'm writing a simple shell script to allow picking a theme from a list when launching lgpt on the v90. I generally don't want the same color theme for light and dark environments, I have simple workarounds for that but I'd like to have something more versatile.
If you have new good color themes to propose, I can include them in what I'm doing.

Also, is there an updated version of the user manual somewhere? I could only find the wayback machine version there:
https://web.archive.org/web/20190721061112/http://wiki.littlegptracker.com/doku.php?id=lgpt:reference_manual#groove_screen
but maybe I'm missing something, I wouldn't want to redo something that has already been done by someone, please let me know if there is a better starting point for the User Manual, and if it's ok if I play around with it?

Thanks a lot!

Add render menu item

As a composer, I would like to render my project from the project screen.

Render from start to finish should be the main objective.
Stretch goals:

  • Set render start and end points manually
  • Render tracks individually (stems)

Issue in raspberry pi 3A+.

Hi. I am using a Raspberry Pi 3 A+ with the LGPT-RASPI-1.3o_2.zip release of LittleGPTracker, the Raspberry pi Binaries and i get the sound glitchy.

This is my hostnamectl output

Static hostname: raspberrypi
       Icon name: computer
      Machine ID: ************************************
         Boot ID: ************************************
Operating System: Raspbian GNU/Linux 12 (bookworm)
          Kernel: Linux 6.6.28+rpt-rpi-v7
    Architecture: arm

This is my os-release file

PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
NAME="Raspbian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

There is my aplay -L output

**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 0: b1 [bcm2835 HDMI 1], device 1: bcm2835 HDMI 1 [bcm2835 HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3

This is my config.xml

<CONFIG>
        <ROOTFOLDER value="/home/angel/lgpt/"/>
        <SAMPLELIB value="/home/angel/lgpt/samplelib"/>

        <AUDIOAPI value='Linux ALSA'/>
        <AUDIODEVICE value="hw:bcm2835 Headphones"/>
        <AUDIOBUFFERSIZE value='512'/>
        <AUDIOPREBUFFERCOUNT value='5'/>


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

I tried to run the demo song with comes with LGPT, the LTPG_BETA folder with several configurations in AUDIOBUFFERSIZE and AUDIOPREBUFFERCOUNT trying to get a clean sound.

AUDIOBUFFERSIZE = 512 AUDIOPREBUFFERCOUNT = 5

The sound is very bad.

When i load the song (without playing any note) i start to getting errors in the output:

RtApiAlsa::callbackEvent: audio write error, Device or resource busy.
RtApiAlsa::callbackEvent: audio write error, Device or resource busy.
RtApiAlsa::callbackEvent: audio write error, No child processes.
RtApiAlsa::callbackEvent: audio write error, No child processes.
RtApiAlsa::callbackEvent: audio write error, No CSI structure available.
RtApiAlsa::callbackEvent: audio write error, No CSI structure available.
RtApiAlsa::callbackEvent: audio write error, Channel number out of range.
RtApiAlsa::callbackEvent: audio write error, Channel number out of range.
RtApiAlsa::callbackEvent: audio write error, Illegal seek.
RtApiAlsa::callbackEvent: audio write error, Illegal seek.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Level 3 halted.
RtApiAlsa::callbackEvent: audio write error, Level 3 halted.
RtApiAlsa::callbackEvent: audio write error, Channel number out of range.
RtApiAlsa::callbackEvent: audio write error, Channel number out of range.
RtApiAlsa::callbackEvent: audio write error, No space left on device.
RtApiAlsa::callbackEvent: audio write error, No space left on device.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Invalid slot.
RtApiAlsa::callbackEvent: audio write error, Invalid slot.
RtApiAlsa::callbackEvent: audio write error, Channel number out of range.
RtApiAlsa::callbackEvent: audio write error, Channel number out of range.
RtApiAlsa::callbackEvent: audio write error, Advertise error.
RtApiAlsa::callbackEvent: audio write error, Advertise error.
RtApiAlsa::callbackEvent: audio write error, Bad font file format.
RtApiAlsa::callbackEvent: audio write error, Bad font file format.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, Identifier removed.
RtApiAlsa::callbackEvent: audio write error, Identifier removed.
RtApiAlsa::callbackEvent: audio write error, Object is remote.
RtApiAlsa::callbackEvent: audio write error, Object is remote.
RtApiAlsa::callbackEvent: audio write error, Device not a stream.
RtApiAlsa::callbackEvent: audio write error, Device not a stream.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, No message of desired type.
RtApiAlsa::callbackEvent: audio write error, No message of desired type.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Bad font file format.
RtApiAlsa::callbackEvent: audio write error, Bad font file format.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, No message of desired type.
RtApiAlsa::callbackEvent: audio write error, No message of desired type.
RtApiAlsa::callbackEvent: audio write error, Package not installed.
RtApiAlsa::callbackEvent: audio write error, Package not installed.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, Exchange full.
RtApiAlsa::callbackEvent: audio write error, Exchange full.
RtApiAlsa::callbackEvent: audio write error, Directory not empty.
RtApiAlsa::callbackEvent: audio write error, Directory not empty.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Out of streams resources.
RtApiAlsa::callbackEvent: audio write error, Invalid slot.
RtApiAlsa::callbackEvent: audio write error, Invalid slot.
RtApiAlsa::callbackEvent: audio write error, Exchange full.
RtApiAlsa::callbackEvent: audio write error, Exchange full.
RtApiAlsa::callbackEvent: audio write error, Directory not empty.
RtApiAlsa::callbackEvent: audio write error, Directory not empty.
RtApiAlsa::callbackEvent: audio write error, Invalid slot.
RtApiAlsa::callbackEvent: audio write error, Invalid slot.
RtApiAlsa::callbackEvent: audio write error, Invalid request code.
RtApiAlsa::callbackEvent: audio write error, Invalid request code.
RtApiAlsa::callbackEvent: audio write error, Invalid exchange.
RtApiAlsa::callbackEvent: audio write error, Invalid exchange.
RtApiAlsa::callbackEvent: audio write error, Function not implemented.
RtApiAlsa::callbackEvent: audio write error, Function not implemented.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, Exchange full.
RtApiAlsa::callbackEvent: audio write error, Exchange full.
RtApiAlsa::callbackEvent: audio write error, Protocol driver not attached.
RtApiAlsa::callbackEvent: audio write error, Protocol driver not attached.
RtApiAlsa::callbackEvent: audio write error, File name too long.
RtApiAlsa::callbackEvent: audio write error, File name too long.
RtApiAlsa::callbackEvent: audio write error, Level 2 halted.
RtApiAlsa::callbackEvent: audio write error, Level 2 halted.
RtApiAlsa::callbackEvent: audio write error, Invalid exchange.
RtApiAlsa::callbackEvent: audio write error, Invalid exchange.
RtApiAlsa::callbackEvent: audio write error, Protocol driver not attached.
RtApiAlsa::callbackEvent: audio write error, Protocol driver not attached.
RtApiAlsa::callbackEvent: audio write error, Numerical result out of range.
RtApiAlsa::callbackEvent: audio write error, Numerical result out of range.
RtApiAlsa::callbackEvent: audio write error, Operation not permitted.
RtApiAlsa::callbackEvent: audio write error, Operation not permitted.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, No message of desired type.
RtApiAlsa::callbackEvent: audio write error, No message of desired type.
RtApiAlsa::callbackEvent: audio write error, Timer expired.
RtApiAlsa::callbackEvent: audio write error, Timer expired.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, Unknown error 58.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, Directory not empty.
RtApiAlsa::callbackEvent: audio write error, Directory not empty.
RtApiAlsa::callbackEvent: audio write error, Invalid slot.
RtApiAlsa::callbackEvent: audio write error, Invalid slot.
RtApiAlsa::callbackEvent: audio write error, Invalid request code.
RtApiAlsa::callbackEvent: audio write error, Invalid request code.
RtApiAlsa::callbackEvent: audio write error, Invalid request descriptor.
RtApiAlsa::callbackEvent: audio write error, Invalid request descriptor.
RtApiAlsa::callbackEvent: audio write error, Function not implemented.
RtApiAlsa::callbackEvent: audio write error, Function not implemented.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, No anode.
RtApiAlsa::callbackEvent: audio write error, Exchange full.

And this in the log:

[CONFIG] Got config path=/home/angel/lgpt/bin/config.xml
[-D-] Audio
[CONFIG] Got value for AUDIOAPI=Linux ALSA
[CONFIG] Got value for AUDIODEVICE=hw:bcm2835 Headphones
[CONFIG] Got value for AUDIOBUFFERSIZE=512
[CONFIG] Got value for AUDIOPREBUFFERCOUNT=5
[AUDIO] Audio object initialised with
[AUDIO] Api:Linux ALSA
[AUDIO] Device:hw:bcm2835 Headphones
[AUDIO] Buffer size:512
[AUDIO] Pre Buffer Count:5
[AUDIO] Current API: Linux ALSA
[AUDIO] Found device hw:bcm2835 HDMI 1,0
[AUDIO] Found device hw:bcm2835 HDMI 1,1
[AUDIO] Found device hw:bcm2835 Headphones,0
[AUDIO] Selecting: hw:bcm2835 Headphones,0
[CONFIG] Got value for ROOTFOLDER=/home/angel/lgpt/
[DISPLAY] Using driver fbcon. Screen (640,480) Bpp:32
[DISPLAY] Creating SDL Window (640,480)
[DISPLAY] Preparing fonts
[DISPLAY] Preparing font cache
[CONFIG] Got value for BACKGROUND=505444
[CONFIG] Got value for FOREGROUND=FFFFFF
[CONFIG] Got value for SONGVIEW_FE=A55B8F
[CONFIG] Got value for SONGVIEW_00=853B6F
[CONFIG] Got value for HICOLOR1=F41B38
[CONFIG] Got value for HICOLOR2=FF0000
[CONFIG] Got value for CURSORCOLOR=FF00DD
[CONFIG] Got value for ROWCOLOR1=BA28F9
[CONFIG] Got value for ROWCOLOR2=FF00FF
[CONFIG] Got value for ALTROWNUMBER=4
[-D-] Failed to attach /event/up to hat:0:0:0
[-D-] Failed to attach /event/down to hat:0:0:2
[-D-] Failed to attach /event/left to hat:0:0:3
[-D-] Failed to attach /event/right to hat:0:0:1
[-D-] Failed to attach /event/a to but:0:0
[-D-] Failed to attach /event/b to but:0:1
[-D-] Failed to attach /event/rshoulder to but:0:8
[-D-] Failed to attach /event/lshoulder to but:0:6
[-D-] Failed to attach /event/start to but:0:4
[-D-] Failed to attach /event/rshoulder to but:0:3
[-D-] Failed to attach /event/start to but:0:3
[-D-] Failed to attach /event/lshoulder to but:0:2
[-D-] Failed to attach /event/start to but:0:2
[-D-] Failed to attach /event/a to but:0:5
[-D-] Failed to attach /event/rshoulder to but:0:5
[-D-] Mapping config
[MAPPING] Attached /event/a to key:0:a
[MAPPING] Attached /event/b to key:0:s
[MAPPING] Attached /event/left to key:0:left
[MAPPING] Attached /event/right to key:0:right
[MAPPING] Attached /event/up to key:0:up
[MAPPING] Attached /event/down to key:0:down
[MAPPING] Attached /event/lshoulder to key:0:right ctrl
[MAPPING] Attached /event/rshoulder to key:0:left ctrl
[MAPPING] Attached /event/start to key:0:space
[LoadProject] /home/angel/lgpt//lgpt_BETA

[AUDIO] RTAudio device hw:bcm2835 Headphones,0 successfully open - buffer=512
[-D-] Out initialized
[EVENT] SDEM:PostQuitMessage()

AUDIOBUFFERSIZE = 1024 AUDIOPREBUFFERCOUNT = 1

The sound is bad.

When i load the song (without playing any note) i start to getting errors in the output:

RtApiAlsa::callbackEvent: audio write error, Unknown error 141.
RtApiAlsa::callbackEvent: audio write error, Unknown error 141.
RtApiAlsa::callbackEvent: audio write error, Unknown error 161.
RtApiAlsa::callbackEvent: audio write error, Unknown error 161.
RtApiAlsa::callbackEvent: audio write error, Unknown error 141.
RtApiAlsa::callbackEvent: audio write error, Unknown error 141.
RtApiAlsa::callbackEvent: audio write error, Unknown error 141.
RtApiAlsa::callbackEvent: audio write error, Unknown error 141.

And this in the log:

[CONFIG] Got config path=/home/angel/lgpt/bin/config.xml
[-D-] Audio
[CONFIG] Got value for AUDIOAPI=Linux ALSA
[CONFIG] Got value for AUDIODEVICE=hw:bcm2835 Headphones
[CONFIG] Got value for AUDIOBUFFERSIZE=1024
[CONFIG] Got value for AUDIOPREBUFFERCOUNT=1
[AUDIO] Audio object initialised with
[AUDIO] Api:Linux ALSA
[AUDIO] Device:hw:bcm2835 Headphones
[AUDIO] Buffer size:1024
[AUDIO] Pre Buffer Count:1
[AUDIO] Current API: Linux ALSA
[AUDIO] Found device hw:bcm2835 HDMI 1,0
[AUDIO] Found device hw:bcm2835 HDMI 1,1
[AUDIO] Found device hw:bcm2835 Headphones,0
[AUDIO] Selecting: hw:bcm2835 Headphones,0
[CONFIG] Got value for ROOTFOLDER=/home/angel/lgpt/
[DISPLAY] Using driver fbcon. Screen (640,480) Bpp:32
[DISPLAY] Creating SDL Window (640,480)
[DISPLAY] Preparing fonts
[DISPLAY] Preparing font cache
[CONFIG] Got value for BACKGROUND=505444
[CONFIG] Got value for FOREGROUND=FFFFFF
[CONFIG] Got value for SONGVIEW_FE=A55B8F
[CONFIG] Got value for SONGVIEW_00=853B6F
[CONFIG] Got value for HICOLOR1=F41B38
[CONFIG] Got value for HICOLOR2=FF0000
[CONFIG] Got value for CURSORCOLOR=FF00DD
[CONFIG] Got value for ROWCOLOR1=BA28F9
[CONFIG] Got value for ROWCOLOR2=FF00FF
[CONFIG] Got value for ALTROWNUMBER=4
[-D-] Failed to attach /event/up to hat:0:0:0
[-D-] Failed to attach /event/down to hat:0:0:2
[-D-] Failed to attach /event/left to hat:0:0:3
[-D-] Failed to attach /event/right to hat:0:0:1
[-D-] Failed to attach /event/a to but:0:0
[-D-] Failed to attach /event/b to but:0:1
[-D-] Failed to attach /event/rshoulder to but:0:8
[-D-] Failed to attach /event/lshoulder to but:0:6
[-D-] Failed to attach /event/start to but:0:4
[-D-] Failed to attach /event/rshoulder to but:0:3
[-D-] Failed to attach /event/start to but:0:3
[-D-] Failed to attach /event/lshoulder to but:0:2
[-D-] Failed to attach /event/start to but:0:2
[-D-] Failed to attach /event/a to but:0:5
[-D-] Failed to attach /event/rshoulder to but:0:5
[-D-] Mapping config
[MAPPING] Attached /event/a to key:0:a
[MAPPING] Attached /event/b to key:0:s
[MAPPING] Attached /event/left to key:0:left
[MAPPING] Attached /event/right to key:0:right
[MAPPING] Attached /event/up to key:0:up
[MAPPING] Attached /event/down to key:0:down
[MAPPING] Attached /event/lshoulder to key:0:right ctrl
[MAPPING] Attached /event/rshoulder to key:0:left ctrl
[MAPPING] Attached /event/start to key:0:space
[LoadProject] /home/angel/lgpt//lgpt_BETA

[AUDIO] RTAudio device hw:bcm2835 Headphones,0 successfully open - buffer=1024
[-D-] Out initialized
[EVENT] SDEM:PostQuitMessage()

I tried with several configurations, i can not get it to work without glitches, can anyone give me a clue how to proceed?

May be rapsberry pi 3a+ is not powerful enough for LittleGPTracker?

ArkOS and/or portmaster support

I have a clone of one of the Anbernic devices the R36S and I was checking this out since I saw there was an RG35xx option. It looks like the build is meant for GarlicOS though, and these by default use some version of ArkOS so its a directory called PORTS not APPS.

Tried running it from the script but no luck. Maybe there are libraries missing or some other issue compared to what the other OS includes. Not familiar with the j2k.so library its loading via the script either.

What I think would be even better would be to get it into portmaster somehow https://portmaster.games/ so it can be freely downloaded across multiple devices and variations of the operating system.

Noise/ clipping

On the Anbernic RG280v there is constant noise and /or clipping, both with the sample project and new projects. Sometimes there are few clipping crackles, most of the time it’s too noisy to do anything really. Tried increasing the buffer size to 256 via config.xml. Tried with stock firmware as well as Rogue CFW and Adam Image.

Miyoo mini has a flipped screen and no audio

hey, love that somebody is porting to the miyoo mini

I downloaded and tested version 1.3o-alpha5, it had the following issues

  • the screen is rotated 180 degrees
  • opening or creating a file fails with a dialog "Failed to initialize audio"

here's a screenshot

20230212_215726

and here's a log:

[AUDIO] Audio object initialised with
[AUDIO] Api:
[AUDIO] Device:
[AUDIO] Buffer size:1024
[AUDIO] Pre Buffer Count:8
[DISPLAY] Using driver fbcon. Screen (320,240) Bpp:16
[DISPLAY] Creating SDL Window (320,240)
[DISPLAY] Preparing fonts
[DISPLAY] Preparing font cache
[DISPLAY] Preparing full font cache
[MAPPING] No (bad?) mapping file (bin:mapping.xml)
[-D-] Mapping config
[MAPPING] Attached /event/a to key:0:left ctrl
[MAPPING] Attached /event/b to key:0:left alt
[MAPPING] Attached /event/left to key:0:left
[MAPPING] Attached /event/right to key:0:right
[MAPPING] Attached /event/up to key:0:up
[MAPPING] Attached /event/down to key:0:down
[MAPPING] Attached /event/lshoulder to key:0:tab
[MAPPING] Attached /event/rshoulder to key:0:backspace
[MAPPING] Attached /event/start to key:0:return
[LoadProject] ./lgpt_A

[*ERROR*] Couldn't open sdl audio: No available audio device

[-D-] Failed to get output
[EVENT] SDEM:PostQuitMessage()

a few people that have built upstream have reported the same issues around the web, happy to continue testing alpha releases on the miyoo mini if you don't have a test unit.

cheers.

W32 build has many errors

In Hydra.cpp
error: 'Dealloc' was not declared in this scope if (pPHdr != NULL) Dealloc((VOIDPTR)pPHdr);
W32Midi.h is missing
Linker cannot find SDL or SDL_main
Had to disble Hydra due to Dealloc not declared in this scope

GUIFactory.h has obscure errors (abstract implementation of WSDLGUIWindowImp)
WSDLGUIWindowImp doesn't build as a consequence
z:/projects/../sources/Adapters/WSDLUI/GUIFactory.cpp:10:33: error: invalid new-expression of abstract class type 'WSDLGUIWindowImp' return *(new WSDLGUIWindowImp(p)) ; ^ In file included from z:/projects/../sources/Adapters/WSDLUI/GUIFactory.cpp:2:0: z:\sources\adapters\wsdlui\WSDLGUIWindowImp.h:23:7: note: because the following virtual functions are pure within 'WSDLGUIWindowImp': class WSDLGUIWindowImp: public I_GUIWindowImp { ^~~~~~~~~~~~~~~~ In file included from z:\sources\uiframework\interfaces\I_GUIWindowImp.h:5:0, from z:\sources\uiframework\interfaces\i_guiwindowfactory.h:5, from z:\sources\adapters\wsdlui\GUIFactory.h:4, from z:/projects/../sources/Adapters/WSDLUI/GUIFactory.cpp:1:

Change default buttons

As a composer, I'd like a button layout like in Little Sound DJ by default.

This is

  • B button (X on PSP) as Option
  • A button (O on PSP) as Edit

Unify button shortcuts

Break up 1 of issue #58

Suggestion was to, when in New project or Save as screens, START would move the cursor to "Ok".
Likewise, B would place the cursor on "Cancel".

I'd like to suggest the following:
Instead of moving the cursor, simply let START and B replace the function of moving the cursor to said option and pressing A

This would have a reflected behavior in the sample browser, where start allows for playing / loading samples.
I suggest to let the user exit the sample browser by simply pressing "B"

Start navigation refinement

Break up 2 of issue #58

In o-beta-2 the sample navigation was changed, pressing and holding start enables previewing while navigating as well as loading.
This affects A button behavior as well, consider restoring previous behavior.

I'm not 100% happy with the feel of holding start while navigating folders, consider this a placeholder for tuning this behavior.
(need to press right to load folder?)
Start + left should go back to the same place in the above folder, not to the top.

Take the opportunity to add exiting the sample browser with B
"Alternatively, B first takes the user up the directories to the root of the sample library before selecting the "EXIT" button."
Does this mean it is required to press B twice to select the exit button?
I'd personally vote for simply exiting the browser when pressing B.

Using START and B to quickly navigate certain menus

When naming a project, using Save As, or using the sample browser, it would be beneficial to have a quick way out of the menu. I suggest using START to navigate the cursor to the most reasonable "Okay, I'm done" button. Likewise, using the B button should let the user get to the most reasonable "Nah, actually never mind" button.

For the New Project naming, START would move the cursor to "Ok", allowing the user to start creating a new project. B would place the cursor on "Cancel".

For Save As, this would be the same as New Project.

For the sample browser, this gets more complex. Ideally, we would have control over starting and stopping playback, which is done with START. At the same time, having a way to easily get to the "EXIT" button would be beneficial. I suggest keeping playback functionality with START, but B selects the "EXIT" button. Alternatively, B first takes the user up the directories to the root of the sample library before selecting the "EXIT" button.

Another menu that could benefit from accepting more user inputs is "Load Song" from the project page. The software asks "Load song and lose changes ?", to which a reasonable response might be to press B, as in "nah, thanks". Currently pressing B does nothing. I suggest pressing B automatically selects and executes "No". A question is whether pressing START should act as pressing A, or if it should select the "Yes" option.

Quicker sample preview browsing

Loosely based on/slight conflict with Mdashdotdashn#18
As a composer, I'd like sample previews to be played back while holding the edit button.
Holding edit and pressing up/down should preview sample currently highlighted.

GP2X build?

Any chance for GP2X builds including the new features?
I prefer GP2X over PSP for several reasons: MIDI ( sync with dirtywave M8), sound and the feel of the hardware

I could also try to build myself but not sure how to do that...

Is there a discord or forum to discuss/follow this project?

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.