Coder Social home page Coder Social logo

benirose / o_c-benispheresuite Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chysn/o_c-hemispheresuite

167.0 167.0 17.0 12.2 MB

Benisphere Suite is a continuation of Hemisphere Suite, an alternate firmware for Ornament and Crime, featuring a dual-applet framework with dozens of different modular functions.

C++ 96.91% C 2.05% R 0.16% Python 0.79% Shell 0.02% Makefile 0.08%

o_c-benispheresuite's People

Contributors

benirose avatar bowlneudel avatar chysn avatar djphazer avatar dowotheedowo avatar evgazloy avatar herrkami avatar mattlongest avatar mdashdotdashn avatar mxmxmx avatar nagasaki45 avatar patrickdowling avatar qiemem avatar recliq avatar timchurches avatar wheelibin 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

o_c-benispheresuite's Issues

MIDI In doesn't handle overlapping notes

Hi, I'm trying to hook up a MIDI keyboard, but it's not really playable because the MIDI In app doesn't handle overlapping keys well:

  • The gate signal is always cleared when a note off message is observed, it should only be cleared once all keys have been released (once the number of note off messages equals the number of note on messages). Even a few milliseconds of overlap while switching from one note to the next clears the gate, so this really prevents using a keyboard at all.
  • The note signal is always the most recent note observed, intuitively it should always output the most recently pressed key that is still being held

I haven't thought about how velocity or the other signals should behave, I only tried these two

Internal clock overrides external gates

I'm trying to use Benispheres as a self-contained sequencer. For example:

Internal clock > left side running a trigger sequencer > right side running a pitch/cv sequencer (such as stepper, tb-3P0, etc.).

But I can't clock the pitch sequencer using the gates/triggers from the trigger sequencer. The internal clock replaces whatever clock I send to the Digital Ins. This means I have to use an external clock source in order to use a trigger and pitch sequencer.

TB3P0 density

When setting the density in TB3P0, -7 through to 0, each setting provides a different variation on the theme, but from 1-7, it's the same on each setting. I think they are also supposed to be different. Thanks.

Squanch pitch shifting doesn't seem to work

In Squanch the two bipolar numbers next to the little note icons are supposed to shift the pitch at CVOutA and CVOutB respectively, but this doesn't work in Benespheres 1.31. (This seems to work on Hemispheres 1.99.)
Also, a bipolar voltage applied to CVIn2 is supposed to shift the pitch to CVOutB, but this doesn't work in Benespheres 1.31. (This too works on Hemispheres 1.99.)

VOR support

Saw in forums that this is already planned, but opening an issue to track. I recently picked up an OCP X and would be happy to help with testing or with resolving issues if you've got something in progress in a local branch.

Internal clock mode misbehaviour

Issue 1: When o_C is saved in external clock mode & forwarding off, Benispheres always boots with forwarding on after a power cycle.

Issue 2: Long-pressing the left encoder to toggle forwarding / metronome is inconsistent when certain applets are loaded (specifically LowerRenz, maybe others). The toggle may be completely unresponsive after a power cycle, until the clock mode is cycled or applets are changed.

Scale duet not working? (my mistake, seems to work just fine using trig2, cv2 and out 2)

am I the only one who has an issue with scale duet? Can't seem to get anything out of it no matter what I try.

Heres what I have connected at the moment:
MATHS channel 1 cycling sending a 0-5v sine to O&C cv3 (or cv1)
MATHS channel 4 cycling and EOC to O&C trig 3 (or trig 1)
O&C OUT C to oscilloscope and it's not showing anything (also same with OUT D. also OUT A and OUT B show nothing if I use cv1 and trig1)
doens't matter if I have selected all the keys or some keys on scale duet.
if I send MATHS channel 1 to oscilloscope I see the 0-5v sine wave no problems.

am I just not understanding how it should work?

Question about disabled BootsNCat app

HI, thanks for your amazing work! Quick question about the BootsNCat app, I see that in the commit 7a3de55 you left it in but disabled in case it would interest someone. Would it be possible to have both BootsNCat and the new BugCrack app enabled at the same time? If so, would I need to disable any other app in order to make space for BootsNCat? Many thanks.

Change reset behavior on sequencers - when NOT clocked and reset, next clock should play first step

The current behavior for reset in most applets is to set things back to the first step. This is a pretty analog approach, but is probably not the expected behavior, as the next clock will move it to the second step rather than playing the first one. If possible, applets should be updated so that if they are reset while not receiving a clock, the first clock they receive plays the first step.

Scroll direction of right knob reversed?

I just updated to v1.3 and now the right encoder on my uO_C has reversed scrolling direction, while the left is normal. Is anyone else experiencing this? I haven't tried reverting to another firmware (yet) to confirm that it only happened with Benisphere v1.3...

Fork New Hemisphere 1.99

Hemisphere 1.99 fixed number for bugs for the existing applets. I think it would be great if the benisphere also update that part.

Compile error when swapping Enigma out for another app in OC_options.h

When I swapped out ENABLE_APP_ENIGMA for another app in OC_options.h I get the compile error 'OC::Strings' has not been declared

It looks like OC_strings.h is only included in APP_ENIGMA.ino, but is needed for OC_calibration.ino to compile.
Moving the line #include "OC_strings.h" from APP_ENIGMA.ino to o_c_REV.ino seems to fix it.

Probdiv reseed CV affects Probmelod lower bound range

Suite V 1.3.1. using Probdiv on the left and Probmelod on the right. Using an LFO CV to reseed Probdiv every few seconds. It works for a few cycles and then Probmelod lower range gets set to the upper range after which all the notes remain the same. Seems like CV2 gets interpreted as CV3.

Size mismatch between downloaded versions.

I have a version of O_C-Benispheresuite-BSSv1.3.1 that I modified, compiled, and installed, but moving my one change (Runglbook) into the repo I cloned from Github results in an out-of-memory error when compiling.

region FLASH overflowed by 28108 bytes collect2: error: ld returned 1 exit status Error compiling for board Teensy 3.2 / 3.1.

I'm kind of new to forking other people's projects. Can I run some kind of diff on the folder to find out where those extra kilobytes are?

Clock can be delayed when using clock forwarding (falling out of time when reset with clock forwarding)

While testing all of the reset code changes I came across an issue when Annular Fusion was in the right hemisphere and getting clock forwarding from the left. When receiving reset at the same time as the clock it would occasionally fall off time, likely because the clock being forwarded wasn't getting there in time. However using a stack cable to send the clock to both sides individually worked without any issues.

For now, the solution is to not use clock forwarding if you are using reset on the right hemisphere, but simply send the same clock to both hemispheres. In the long run, it would be good to cut down on clock forwarding time so this is no longer an issue.

State Not Saving Via Right Hold

I am having trouble saving the state of the unit/start up apps. I assumed the way to do so would be the same as base Hemispheres, by holding the Right button for two long presses, but after opening the internal clock it does not seem like the state is saving. Not sure if this is a bug or the feature has been removed from Hemispheres.

test issue

check one. check one. sibilance. sibilance.

Untriggered resets on Stairs

With a clock signal on Digital 1, Stairs is giving me weird resets where it stutters around step 1 and 2. As in, it can't complete its full cycle because it goes from step 1-2 back and forth.

Shredder crash

If I hold the left encoder while Shredder is loaded and selected, it leads to overwriting the T1 with noise(random values, super fast). Only solution is to reset from menu, or reboot. I can replicate it if necessary.

P.S. Awesome of you to continue developing applets.

After flashing Benisphere, Modules no longer Output

I tried Benisphere on my 1u O&C Modules, which were working fine with Stock Firmware and regular Hemisphere... but with Benisphere, suddenly there is no Output on the A to D Jacks...Output doesnt even return after i flashed Stock Firmware, or regular hemisphere. i have two paperweights now. (both worked fine before flashing...Id appreciate some Help with this. i tried recalibrating in stock firmware...output is stuck at -11 volt

Feature Request: consider extending Sequence5 into having more steps

Sequence5 is a brilliant little app for when you need a small sequencer, but I wonder if it would be possible to extend it to a more traditional 8 steps. Now that you've implemented the reset to all sequencers and given that you can ignore a step by setting its value to 0, that would make this a really powerful sequencing tool. UI-wise, I think that 8 sliders could still be comfortably displayed in half screen, as is used by your ProbMeloD app.

Shredder / mimetic digitalis

Not sure if it's just me, but what is happening with this applet?

No idea what the numbers mean in relation to what is coming out of the app

Would love images for a video explaining this a little better

LowerRenz misbehaviour

LowerRenz applet appears to have some bugs vs Hemispheres1.8A

Issue 1: Right hemisphere locked to left โ€” adjusting settings on the right hemisphere does not have any effect. When LowerRenz is loaded on the left, it responds to Freq and Rho adjustment (which apply to the right hemisphere even when the left hemisphere is occupied by another applet).

Issue 2: Within one hemisphere, X & Y outputs are identical, instead of their expected pseudo-independent behaviour. In combination with Issue 1, all 4 outputs are identical.

Scroll backwards through parameters

It would be really nice if you could scroll through parameters by holding down the encoder and rotating back/forth, Disting-style. I appreciate the simplicity of the UI, but some apps (Scale Duet, Shredder) are pretty annoying to navigate in only one direction. Curious to see what folks think- I'm not sure if making it easier to navigate might counter-intuitively degrade the experience by encouraging more complex apps... y'know, Disting-style.

Vector LFO - modification request

Vector LFO is currently LFO1 and LFO2 that can have independent shapes and rates. LFO1 is always discreet in it's channel. However, LFO2 currently defaults to a 50% blend of LFO1 and LFO2. The blend can be reduced to zero LFO1 and pure LFO2 by applying a CV input. This requires extra modules just to have two truly independent LFOs.

I think most people would want the default behavior to be pure LFO2 on it's channel. Then a CV could be applied to achieve a blend of LFOs on the LFO2 channel as a special effect rather than the default.

The blend could be 0-100% LFO1 plus 100% of LFO2.

A cross fade mode is another possibility. LFO2 decreases linearly as LFO1 increases.

TB-3PO gate output gets stuck

Sometimes, after leaving my rack powered on for a long time, the 2nd output of TB-3PO gets stuck high. Everything else appears to work fine, the pitch CV still comes out normally, I can switch to other applets and they work, but the problem persists with TB-3PO until I cycle power. It's hard to reproduce because it only happens after it's been sitting idle for probably >24 hours... but it's happened more than a few times.

My hunch is that it has something to do with the EndOfADCLag() function:
bool EndOfADCLag(int ch) { return (--adc_lag_countdown[ch] == 0); }

If you overflow a regular signed int by subtracting 1, what happens? Will it eventually rollover and end up back at 0?

Feature request: AnnularFusion CV remap to Hits

Personally, I think it'd be more useful to have modulation control over the pattern fill versus the pattern offset, especially in combination with a shift register like Mylar Melodies demonstrates here: https://www.youtube.com/watch?v=d8L4NPg8gh0

Although, for backwards compatibility, this would probably have to be assigned via the encoder. Perhaps with the option to assign both CV parameters to Ch1 (controlling both steps and offset), and leave Ch2 for more static use, as described below:

Encoder position CV 1 CV 2
1 Ch1 Rotate Ch2 Rotate
2 Ch1 Hits Ch2 Hits
3 Ch1 Hits Ch1 Rotate

DrumMap questions: Expected PPQN? Interest in a state saving PR?

Loving this firmware so far!

Two questions:

  1. I know grids can use either 4, 8, or 24 ppqn. What does DrumMap expect? From playing around, it seems like it expects 8 ppqn, but just wanted to confirm. Also, might be worth a mention in the manual as 4 ppqn is so common in eurorack.

  2. I made a little fork of DrumMap that saves the state of all parameters, but at the cost of losing some granularity for manual control (cv control still has 8 bits of resolution). The resolutions I've used are: 6 bits each for x and y, 5 bits each for fills, 4 bits for chaos. With 2 bits for the modes and 2 for the cv mode, that's 32. Now, it's very much a trade-off, so I definitely understand if you don't want it. Also, it means that there's not quite enough values for the input acceleration to still be useful (which made me a bit sad tbh; that's such a great touch). Anyway, let me know!

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.