Giter VIP home page Giter VIP logo

bjumblr's People

Contributors

falktx avatar sahaathyva avatar sjaehn avatar trebmuh avatar yurivict 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

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

sahaathyva

bjumblr's Issues

Mode for "only one slice per column"?

This would make it easier to draw a new configuration without worrying about a) playing two slices at the same time or b) having a column without a slice (i.e. one slice, not more or less).

mp3 support

libsndfile doesn't support mp3. At least not the standard version of libsndfile. TODO implement minimp3 by lieff.

CPU high

When running the plugin in Carla 2.2, it gives me a cpu % of 64 in htop (reasonable modern cpu with 4 cores).

Grid could be more clear

The division of the grid in fours is visible via color differences (blue vs black), but that could be a bit more clear imho.

Fun project for sure!

Select display orientation

Enable user to select between:

  • Vertical progression (progression from bottom to top, sample/stream from left to right, horizontal progression line, vertical playback lines)
  • Horizontal progression (progression from left to right, sample/stream from bottom to top, vertical progression line, horizontal playback lines)

File selection dialog cant navigate anywhere

See screenshot below

Screenshot_20210409_154600

I have nowhere to click to go up a directory, or home, or root.
I am locked out from selecting any files.

Also note how no folders are visible either..

Using v1.6.4

Zoom out

When you've it set to 32 steps, the overview is nice and good. When the setting is 16 steps, the canvas is large, too large imho, I don't have a pleasant overview. Might be nice to be able to zoom in/out somehow.

save presets?

Would be nice to be able to save presets, that's only possible via Carla 'save as'?

Load samples ?

At present, B.Jumblr is a pure live audio stream slice re-sequencer. What about a non live-mode replaying and re-sequencing "static" samples? Samples could be imported from the live audio stream or an audio file. What do you think about ?

Build failure

Getting this atm;

Build BJumblr.lv2 DSP...src/BJumblr.cpp: In constructor ‘BJumblr::BJumblr(double, const LV2_Feature* const*)’:
src/BJumblr.cpp:70:21: error: ‘invalid_argument’ is not a member of ‘std’
   70 |  if (!m) throw std::invalid_argument ("BJumblr.lv2: Host does not support urid:map.");
      |                     ^~~~~~~~~~~~~~~~
src/BJumblr.cpp:71:34: error: ‘invalid_argument’ is not a member of ‘std’
   71 |  if (!workerSchedule) throw std::invalid_argument ("BJumblr.lv2: Host does not support work:schedule.");
      |                                  ^~~~~~~~~~~~~~~~
src/BJumblr.cpp: In constructor ‘BJumblr::Sample::Sample(const char*)’:
src/BJumblr.cpp:104:50: error: ‘invalid_argument’ is not a member of ‘std’
  104 |         if (!sndfile || !info.frames) throw std::invalid_argument("BJumblr.lv2: Can't open " + std::string(samplepath) + ".");
      |                                                  ^~~~~~~~~~~~~~~~
src/BJumblr.cpp: In member function ‘LV2_State_Status BJumblr::state_restore(LV2_State_Retrieve_Function, LV2_State_Handle, uint32_t, const LV2_Feature* const*)’:
src/BJumblr.cpp:701:15: error: ‘invalid_argument’ in namespace ‘std’ does not name a type
  701 |   catch (std::invalid_argument &ia)
      |               ^~~~~~~~~~~~~~~~
src/BJumblr.cpp:703:29: error: ‘ia’ was not declared in this scope
  703 |    fprintf (stderr, "%s\n", ia.what());
      |                             ^~
src/BJumblr.cpp: In member function ‘LV2_Worker_Status BJumblr::work(LV2_Worker_Respond_Function, LV2_Worker_Respond_Handle, uint32_t, const void*)’:
src/BJumblr.cpp:842:17: error: ‘invalid_argument’ in namespace ‘std’ does not name a type
  842 |     catch (std::invalid_argument &ia)
      |                 ^~~~~~~~~~~~~~~~
src/BJumblr.cpp:844:31: error: ‘ia’ was not declared in this scope
  844 |      fprintf (stderr, "%s\n", ia.what());
      |                               ^~
make: *** [makefile:109: BJumblr.so] Error 1
==> ERROR: A failure occurred in build().
    Aborting...
Error making: bjumblr.lv2-git

Control inputs for manual triggering of sample advance+playback / repeat playback?

Allowing playback to be controlled manually by having two control inputs, one that on a 1 input triggers the advance of the white line and the playback of the sample in the new column, and another that triggers repeats the playback of the same sample.

Whilst I'm mentioning a trigger mechanism, it might be worth my suggesting that the use of CV rather than control could allow for trigger, gate, and modulation of the amplitude of the signal, though that would be a whole other level!

Reset to first slice button?

So that if the user finds that their loop is not in sync with the music that is being input, they can press the reset-to-first-beat button and the left-most column gets started from that point?

(A related feature suggestion with similar but different functionality that it might be worth mentioning at the same time: to have -1 or +1 buttons, so as to shift each columns samples a column left or right? That would not change the start time of the samples/loop though.)

Compilation error on Fedora 32

I compile bjumblr on Fedora 32 (the last release).
I met the following error message:

src/BJumblr.cpp:812:3: error: 'LV2_State_Free_Path' was not declared in this scope; did you mean 'LV2_State_Make_Path'?
  812 |   LV2_State_Free_Path* freePath = NULL;
      |   ^~~~~~~~~~~~~~~~~~~
      |   LV2_State_Make_Path
src/BJumblr.cpp:812:24: error: 'freePath' was not declared in this scope
  812 |   LV2_State_Free_Path* freePath = NULL;
      |                        ^~~~~~~~
src/BJumblr.cpp:817:4: error: 'LV2_STATE__freePath' was not declared in this scope; did you mean 'LV2_STATE__makePath'?
  817 |    LV2_STATE__freePath, &freePath, false,
      |    ^~~~~~~~~~~~~~~~~~~
      |    LV2_STATE__makePath
src/BJumblr.cpp: In member function 'LV2_State_Status BJumblr::state_restore(LV2_State_Retrieve_Function, LV2_State_Handle, uint32_t, const LV2_Feature* const*)':
src/BJumblr.cpp:894:2: error: 'LV2_State_Free_Path' was not declared in this scope; did you mean 'LV2_State_Make_Path'?
  894 |  LV2_State_Free_Path* freePath = NULL;
      |  ^~~~~~~~~~~~~~~~~~~
      |  LV2_State_Make_Path
src/BJumblr.cpp:894:23: error: 'freePath' was not declared in this scope
  894 |  LV2_State_Free_Path* freePath = NULL;
      |                       ^~~~~~~~
src/BJumblr.cpp:899:3: error: 'LV2_STATE__freePath' was not declared in this scope; did you mean 'LV2_STATE__makePath'?
  899 |   LV2_STATE__freePath, &freePath, false,
      |   ^~~~~~~~~~~~~~~~~~~
      |   LV2_STATE__makePath
make: *** [makefile:124: BJumblr.so] Error 1

Sample not restored in Carla/NSM

Not sure whether this is a BJumblr bug or a Carla bug (cc @falkTX )
But when saving a session, closing and re-opening the session in NSM, the loaded sample in BJumblr isn't restored.

Phrase editor

When working with it, you start to think about the option you'll find in non-sequencer. Most notably the phrase editor, where you can arrange and play the made patterns in a certain sequence (to make a song / beat).

But in this case you probably want just one pattern play at once.

Hm maybe a combination of the Phrase Editor and the Pattern Triggers. Some way to be able to sequence patterns. With the ability to repeat a certain pattern multiple times. 4x pattern 1, then 4x pattern 4 .... 8x pattern 2...

http://non.tuxfamily.org/sequencer/doc/MANUAL.html#n:2.2.

http://non.tuxfamily.org/sequencer/doc/non-phrase-editor.png
http://non.tuxfamily.org/sequencer/doc/non-pattern-triggers.png

Rotate pattern +90° ...

... or alternatively rotate waveform by -90°. This makes it easier to see which part of the sample or stream is on the turn. A selected pad will directly (and also visually) represent the part of the sample/stream to be played back. Also as result the white line will go from up to down.

Mouse clicks unwanted

I've noticed that sometimes I do enter new 'notes' accidentally. Like my mouse mousebutton is stuck, but it isn't. Using the latest version in Carla.

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.