Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Modular Play

A modular synth playground for Playdate · By Orllewin

Bug reports Sticky

A topic by Orllewin created Oct 29, 2023 Views: 1,367 Replies: 68
Viewing posts 1 to 27
Developer

Please report any bugs here or if you have an account on Github

Hi. Have tried to sideload through the playdate account site but “Modular play”would show up even after refreshing a few times.

I then booted the playdate into disk mode and moved the .pdx over manually to the games folder. But I then got the message below, that I needed a system update. I have the latest as you see in the second image. Any ideas?


Developer

Keep checking for updates over the next day or two, 2.1.0 is rolling out but takes a while to propagate to all devices: https://devforum.play.date/t/playdate-os-sdk-2-1-0-is-rolling-out/14139

Ok good to know, will do thanks

I just experienced this and updated to 2.1.0 but it still didn’t show up. I had to go to Settings -> Games and refresh the list for Modular Play to show up.

I assume "Invert Screen" functions as switching between light and dark mode. I wasn't able to switch to light mode even though I select it under System.

Developer(+1)

thank you, yes, that’s fixed for the next release: https://github.com/orllewin/modular_play_public/milestone/1?closed=1

Thanks for this super fun game/synth. I have played with it for a couple of hours on the train and i had some bugs/problems until now. When i saved the patch and recall it (load) it is not complete. It is sayng 'discard changes' (cancel or confirm are the choices) i was sure i saved everything... Another bug is that if i am playing for a while the playdate crashes. Maybe to much at the same time running in the game? The patch is not that big... Another bug is that the cables sometimes not connect, but after removing the synth/sequencer and put it in the patch again it will connect as intended. Sometimes there are some 'loose cables' still visable... And another minor thing is that the clock is doing weird things when you want to change something in a synth, like a preset. Or sometimes out of the blue doing a swing a couple of ticks.  I dont mind that by the way....

I have a future request as well. A reverb. I tried somethinhg with the delay, but the delay will quickly escalate in terrible feedbacking...  

I think i will come up with more, but for now these were the major things i noticed. Other then that, I know this is some kind of first version. I am loving it by the way. So much fun!

Developer (3 edits)

You’ve found some of the biggest bugs, they are in two areas:

  • Cable management; when you delete a module the module should inform all other connected modules so they can unplug the cable and set themselves back in a state to be connected again. This has to be done explicitly in code for each module, and there will be bugs in some but not others.
  • The other big task to finish is to make sure patch save works properly, each module should save with all the information needed to resurrect itself when it’s loaded from the file menu, there might be some bugs in that logic.

If you can isolate specifically which modules cause any issues I can fix them immediately, otherwise I just have to make and save patches until I break something, over and over (which I do! but I have my favourite modules and methods so might not see everything you do).

The good news as soon as these types of bugs are isloated they’re pretty easy to fix, it’s just a case of finding which module is at fault

(2 edits)

I got a screenshot of two loose cables. Patch is still working though. It is a mess for shure. The cable from the delay output and  Microsynth are loose and when i remove the synth it is still there. The sequencer has been reset to all C notes when i load my patch.

The second patch (i posted on Instagram yesterday) has reset all values of the sequencer as well after i saved it and loaded it again. All to D. It is the first note of the sequence i guess... Too bad the notes arent saved with the sequencer, or is it a bug. And there is even a some things missing. I am really sure i saved everything. But you said allready there were some bugs in it. The things that are missing are a minisequencer and a wavetable synth.

Developer

Good catch on the sequencer (all C’s, using the first note), that should be an easy fix - there’s a fromState and a toState method in all the modules to save and load them from a patch, one of the two isn’t parsing the notes in memory correctly - will get on it for the next Alpha.

Developer (1 edit)

Basically if a module gets in a mess and cables aren’t behaving it’s unrecoverable, you need to restart: file > new. Or exit the app and restart if it’s really bad - painful I know, but state management is really complex!

Developer

And another minor thing is that the clock is doing weird things when you want to change something in a synth, like a preset. Or sometimes out of the blue doing a swing a couple of ticks. I dont mind that by the way….

We might have to live with this - it’s why I removed the BPM label that was in earlier versions of the clock module, the Playdate is single threaded and the processor is tiny - it’s working within these constraints that make it so much fun though. Originally I’d hoped to include a sync for the Pocket Operators but with the clock signal not being reliable it was too much effort.

Ah yeah, It is always a nice challenge to work with what is given. I like it when the clock is doing weird things. Reminds me not to make the patch to big .

Found that sound continues to be output even if you delete the output module.. Also is there a way to break connections with out deleting modules? I've had a number of crashes in the short time I have spent with it but it is hard to tell what caused it. It would also be nice to see the FX pedal type units knobs labeled as they often just sound glitchy and its hard to tell what is happening. Some other stuff in here is labeled kind of oddly coming from euro rack experience. Would be nice if the sequencer had a reset input so you could run 7 steps or whatever using a second clock to reset the sequencer to the first step. I could probably go on and on but this spot is for bug reports so I will stop. 

Developer (1 edit)

The sound channel should be removed when you delete a sound source, I’ve seen simlar issues though, specific modules will be the cause so I’ll need to track down which.

re. clock sync/deta - yes, that’s annoying me too, I’ll add it as an enhancement. The clock should send a delta along with the bang event so different sequencers can be in sync.

This absolutely isn’t designed to be a eurorack simulator though, I knew people coming from that world would find some things odd!

(1 edit)

I'm having so much fun with this little toy, thank you for making it! Trying to remove an OR-808 module, I get a brief error message that the module does not have evaporate(), and the module is not removed. After that, I tried to create a new patch and nothing happened, and tried to delete the existing patch (which was a clock -> OR-808 -> basic output), which caused the Playdate to crash/restart. At some point in that process I also got stuck in a zoomed-in state, but I'm not sure what I pressed or when before that happened. 

Developer(+1)

Thank you, I fixed the 808 issue earlier because the 606 had the same problem. In fact I’ve fixed so many issues today I might do a second Alpha release earlier than intended. I’ll post a new release in a day or two that should have fixed all these most visible issues.

Developer

Thanks for all the early feedback everyone, here and elsewhere. You can see everything that’s open: https://github.com/orllewin/modular_play_public/issues

and all the fixed issues for the next Alpha in a day or two: https://github.com/orllewin/modular_play_public/issues?q=is%3Aissue+is%3Aclosed+milestone%3A%220.0.10+Alpha%22

The most useful reports involve specific actions and modules - if you get a crash and can take a photo of it with your phone that would be fantastic.

Thanks again, already lots of positive progress.

it crashes to console reboot when dropping drone sequencer. 

Developer

Looks like the latest update killed the Drone sequencer completely…

Developer

Fixed: https://orllewin.itch.io/modularplay/devlog/631476/00122-alpha-released - sorry!

(1 edit)

when trying to connect the clock to the wavetable sig-gen synth it crashes to system reboot.    Correction.  I am trying others synths seems to be maybe all of them. 

o shoot. I see you are a new alpha. You are probably already aware of these crashes. So never mind 🥳

I have made a patch that I saved and seems to be corrupt and crashes when loading.
Running version:
modular_play_0_0_12_2_alpha.pdx.zip

In the patch was a single clock running to chains.

Clock > 
> Micro Sequencer > Wavetable > basic output
> OR-808 > basic output

Not sure if this helps but captured this after crashing.


Developer

This is a strange one, when you save and reload a patch it adds the modules in the order you added them, then adds the cables in the order you added them… so there’s something strange going on here - could you email the patch to oppen@fastmail.com and I’ll take a look. It’s saying there’s no audio channel available for some synth or effect, but if they’re re-added in order there should be.

Developer (1 edit)

Actually I missed your description - I’ll try and replicate

Developer

I think I’ve fixed this, the issue was in the Micro Sequencer. Following your steps to build the patch then save threw an error - Micro Sequencer is an older module and wasn’t following the expected naming convention internally. So I think the error happend on save causing a bad save file. Fix will be in the next Alpha in a day or two.

Great stuff. Loving where this is going, keep up the great work :)

First off... You are doing a great job Orllewin!!! Thank you! I was patching yesterday and i got a little problem. I couldnt connect cables (clock to ORL Drummachine). When i started the patch it was no problem. But after fiddling with some switches and clock dividers and removed the clock and put it back in the patch i couldnt connect the cable. anymore  When i removed the clock and put it back again, still no connecting. When i removed the Drummachine and put it back, i could connect the cable as normal. And I have still problems with saved files. I cant open them correctly (sometimes half is saved, but i am sure that i saved everything) and there are files that crash completely. 

Developer

Okay, this is the kind of bug I expect to see quite a lot of - adding and removing modules is tricky, when you delete a module it’s supposed to inform all connected modules that it’s being removed - so they can clean-up and unplug cables and reset their state… if a module doesn’t do that correctly when you come to reconnect it it thinks the sockets are still populated even though there’s no visible cable. I’ll havde a look at a patch with clocks, switches and dividers and try and replicate.

It’s an easy fix once I’ve found where it’s happening! If it does happen it’s pretty unrecoverable, you can try deleting the module with the issue and then add a fresh version of it.

when I load a saved file there is no sound. If I then go to file and new artifacts of the previous file loaded remain. In this case the 4 micro synths. Hope it is going well. Look forward to the updates when you are able. Again appreciate your efforts on this. 

Developer

There’s a problem with that saved file, if you email it to oppen@fastmail.com I’ll have a look.

Side loaded via the Playdate website, on moving down and clicking the tutorial button at the very start it crashed and reset the Playdate, loaded it back up, placed the Pong Unit and Game of Life (very cool btw) and that seemed fine, though I'd check out the tutorial and got to the same button and tried again, got another crash and this message if it helps –

I updated to the latest version shortly before side loading.


Developer(+1)

oh jeez… I rerwrote the midi classes and removed too much. Not cool the tutorial crashes! Will get a fix in tomorrow, I need to fix all 3 ‘stochastic’ synths. That means some new fun modules will be launching tomorrow too.

I'll give another try in the next update then!

Developer (1 edit)

Ok, fixed, download 0.0.13-Alpha - there’s also two new modules, one in Clock and one in Sequencers, don’t tell anyone: https://orllewin.itch.io/modularplay

Yep that's fixed it for me, tutorial working 🤘

Hi. Got a crash/restart with  0.0.13-Alpha. If I remember rightly I had a clock, generative, wave table, delay, and a channel pro.

I had removed a wrongly added output and (but the patch kept playing) I then added the channel pro and Linked to the delay. It then crashed as I cranked to in crease the volume on the channel.


Developer

Not sure I’ve found this specific bug but have found a related one while trying to replicate. Will be a bunch of fixes for this kind of thing in the next release.

I'm getting several modules refusing to accept a clock signal, and complaining that the input requires a clock signal. I'll try and document a solid repro but the micro synth and pedal modules were two that were affected.

Also the midi keyboard module when operated with the A button never stopped playing.

Developer

You can’t connect a clock signal to a synth, a synth needs a midi signal, so that sounds correct.

Tye midi keyboard though, I’ll make it so instead of just sending on events when pressed it also sends an off event when released.

Ah, that makes sense - I will check again, maybe there are modules that are reporting the wrong "wrong connection" error to the UI.

Developer

Researching this has brought another copy/paste error to light, so you’re responsible for about 10 fixes in the next release…

<3

(1 edit)

My son just had a crash - connected the 808 up to itself, then tried to remove the module. We just repeated the crash so it's 2 for 2

edit - I'll  log this one on github

Developer

I’ll fix that now, it’ll be in 0.0.14 in a few days. Modules are supposed to check if they’re connecting to themselves…

(2 edits)

1. Loading Stormy Wind instantly crashes the Playdate

2.Trying to remove arp module caused a crash

3. removing speaker audio still plays

4. Modules, such as sampler still continue to play after being removed. 

Developer

thank you, fixed one already, the rest are here: https://kinopio.club/orllewin-modular-play-hobVkZawudc7bwByphsLx?present=true - trying Kinopio as an alternative to boring tickets in Github.

Deleted 1 year ago
Developer

you already posted on the Granular page - certainly not here! Will have a look

Thanks! Delete this if possible.

can’t remove the midi/serial input node. 

Developer

fixed in 0.1.0 (coming soon)

My app (version 0.0.17 Alpha) more often than not ends up crashing and causing the playdate to automatically shut down and restart. Seems to happen most often when I'm using (connecting to or manipulating pots) on the 4-channel output modules, but I've had it happen otherwise. I've tried deleting the app and doing a fresh download after the update to 2.2, hoping it was related to that issue mentioned in your recent post when 2.2. came out. The problem persists, unfortunately. Here are the latest few entries on my device's error log, in case this helps in diagnosing the problem(s): 

2024/02/05 18:31:12

/Games/User/user.100948.orllewin.playdate.modularplayer.pdx

CoracleViews/rotary_encoder.lua:96: bad argument #1 to 'setImage' (playdate.graphics.image expected, got no value)

stack traceback:

[C]: in method 'setImage'

CoracleViews/rotary_encoder.lua:96: in method 'setValue'

Modules/Synths/OrlSynth/synth_mod.lua:336: in method 'turn'

Modules/module_manager.lua:233: in method 'handleCrankTurn'

Interface/modular_screen.lua:320: in function <Interface/modular_screen.lua:301>

2024/02/05 18:32:06

/Games/User/user.100948.orllewin.playdate.modularplayer.pdx

CoracleViews/rotary_encoder.lua:96: bad argument #1 to 'setImage' (playdate.graphics.image expected, got no value)

stack traceback:

[C]: in method 'setImage'

CoracleViews/rotary_encoder.lua:96: in method 'setValue'

Modules/Synths/WavetableSynth2D/wavetable_synth2d_mod.lua:208: in method 'turn'

Modules/module_manager.lua:233: in method 'handleCrankTurn'

Interface/modular_screen.lua:320: in function <Interface/modular_screen.lua:301>

2024/02/05 18:35:07

/Games/User/user.100948.orllewin.playdate.modularplay.pdx

CoracleViews/rotary_encoder.lua:96: bad argument #1 to 'setImage' (playdate.graphics.image expected, got no value)

stack traceback:

[C]: in method 'setImage'

CoracleViews/rotary_encoder.lua:96: in method 'setValue'

Modules/Synths/WavetableSynth/wavetable_synth_mod.lua:149: in method 'redrawBackground'

Modules/Synths/WavetableSynth/wavetable_synth_mod.lua:260: in method 'invalidate'

Modules/module_manager.lua:215: in method 'invalidate'

Modules/module_manager.lua:178: in method 'move'

Interface/modular_screen.lua:557: in method 'move'

Interface/modular_screen.lua:616: in method 'draw'

main.lua:227: in function <main.lua:220>


2024/02/08 11:10:13

/Games/User/user.100948.orllewin.playdate.modularplayer.pdx

Modules/Mixers/Mixer4Sliders/mix4sliders_component.lua:35: attempt to index a nil value
stack traceback:
Modules/Mixers/Mixer4Sliders/mix4sliders_component.lua:35: in method 'setPan'

Modules/Mixers/Mixer4Sliders/mix4sliders_mod.lua:268: in method 'turn'

Modules/module_manager.lua:233: in method 'handleCrankTurn'

Interface/modular_screen.lua:320: in function <Interface/modular_screen.lua:301>

Developer

Thanks for the detailed report, that makes fixing bugs so much easier. I don’t get the constant crashes you report though, the buggiest area of the code is removing modules. That can create a bad state that makes everything subsequently misbehave. I fix the issues when I find them so it should get more and more stable. I’ll look through the crash reports you’ve posted and see what I can do.

(1 edit)

Hey, I get prettyconsistent crashes on the new firmware. It's to the point that I can't really sink in and create anything at all. Would really love a fix, was looking forward to getting into this. After seeing the above post isn't really answered I'm a bit worried-- do you plan to address this?

Developer

of course I’ll address it. Give me time, I’m a sole developer and this is a MASSIVE project compared to most Playdate software. I’ve just got the latest OS update will see how it performs over the next few days,

Of course, I really appreciate the work you're doing, and look forward to sinking in when it doesn't crash on me. I don't know how to access the crash report the other user posted, but can send them if it's simple enough to tell me how.

Didn't mean to sound rushy, just saw the last post wasn't replied to. Gld to hear you're workign on the project still, I think it's amazing

Another bug to report, causing a crash. Repeatable by following these steps: 

Add then connect these modules: Clock, generative std sequencer, orl synth, 4-channel basic output. Then I connect another clock output to the top right input of the synth, and while turning the crank on top of the (hidden until turned) pot on the top right of the synth (just to the left of the input I just connected), it crashes. I’ll upload the detailed bug report and keep posting additional glitches. Because literally every time I try to use this app, I get a crash. And I’m not removing modules ever. 

Developer

Fixed in 0.1.0 - these are all the same bug, that input requires a value input 0.0 to 1.0, so the bug was clock sources shouldn’t have been able to connect to that socket

next one: follow these steps to get crash and play date restart:

Add clock, generative rnd., wavetable synth, 4-channel output. Connect generative rnd out to wave table in, synth out to mixer in; then clock out to the top right input of the synth, then try to turn one of the pots w the crank on the wave table synth, and it crashes. 

Developer

Fixed in 0.1.0 (coming soon)

next one: follow these steps for crash: 

Add bubble chamber, add wavetable. Connect bubble chamber to the top right input of wave table, then turn the crank and it crashes. 

Developer

Fixed in next release 0.1.0

Anyone else able to replicate these crashes? @Orllewin, have you been able to review the crash report I sent a couple months ago?

Developer

I don’t get the constant crashes you reported - is that still happening?

Developer

ps. working through the above now.

Developer

Hey all, new release coming in the next week or so with lots of fixes, but if you have a recurring problem please join the new Discord Server and I’ll try and fix them 1:1 instead of going back and forth here or on email: https://discord.gg/7yVR2cWV

The Discord link is invalid. I'm curious about the new release -- I've been waiting to jump in and learn this once the update is pushed, though I may just give it a go this weekend regardless!