Coder Social home page Coder Social logo

timsusa / midi-bricks Goto Github PK

View Code? Open in Web Editor NEW
22.0 4.0 0.0 23.89 MB

MIDI Bricks was invented for usage as interactive MIDI-Controller-Interface or even for Touch-Device purposes. Webdemo:

Home Page: https://midi-bricks.timsusa.vercel.app/

License: MIT License

CSS 0.20% HTML 0.36% JavaScript 99.37% Dockerfile 0.03% Shell 0.05%
midi midi-controller midi-device midi-messages midi-api webmidi reactjs react redux electron-app

midi-bricks's People

Contributors

dependabot[bot] avatar renovate-bot avatar timsusa avatar

Stargazers

 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

midi-bricks's Issues

"Delete All" doesn't delete page buttons

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • I do not know nor understand

Can you determine, which version was used?
Version: 0.12.71

Describe the bug
after using "Delete All" the footer still contains all page buttons

FEATURE - Fundamentally improve concept for creating pages

Concept

  • Approach for pages should be array in array
  • Every page is a complete independent layout instance

Steps

  1. Add a page via menu, now only a page button on footer is added, no element for its own in the layout, better a complete new empty layout is added to the global state

  2. Click on footer button in settings mode opens Page settings modal (shift left, right color, label input)

  3. Click on footer button in other modes just changes the page by loading a complete new sliderlist (layout)

  4. Concept for multi copy and paste would make more sense in that matter

Caveats

  • Breaking changes for loading presets will be expected:
    -- It is necessary to save the current version to the preset, to track problems
    -- An old preset could be loaded into one page, but it will loose its footer page entries and stuff should be copy and pastable to a new page, so this feature is needed before: #11

BUG - horizontal slider: strange layout

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron only
  • midi-bricks-web-app

Can you determine, which version was used?
Version: 1.2.9

Describe the bug
see screenshot below: adding a horizontal slider results in a slider, that has a button on his bottom

Steps To Reproduce
Steps to reproduce the behavior:

  1. Go to Layout Mode
  2. Add horizontal slider
  3. See error

Screenshots
grafik

Desktop Version (please complete the following information):

  • OS: Win 10
  • Browser: Chrome (no such behaviour in Chrome web-app, neither on Desktop nor on Android)

Smartphone Version (please complete the following information):

  • Device: HTC one m8
  • OS: Lineage OS
  • Browser: Chrome

FEATURE - Add ability to give page or label a background-image

Why?

In order to go straight to a point, where we could build complete controller layouts for any hardware it should be possible to make use of images

Caveat

  • Images should be limited to a specific size before they can be used. Maybe useful: https://techoverflow.net/2012/09/16/how-to-get-filesize-in-node-js/

  • Probably the problem of persisting the image will get difficult:
    -- Try to save it to the preset-file as base64 encoded string, which will blow up the presets (images are always available)
    -- Try to upload the image somewhere to the server and download+persist them at the client via web-worker (it could happen that images are lost)
    -- Save image to indexed DB

FEATURE - Add Elements in Layout Mode: introduce pictrograms

To make it more user friendly, we should introduce small pictrograms (matching the Font Size of the menu). Maybe just create them from screenshots?
If it's possible to insert graphs (instead of font symbols) to the menu, I could create these graphs here.

[FEATURE] note selection by MIDI note numbers (+ range)

Naming MIDI notes like "a-1" is not a valid and allegation in the MIDI world, because music theory and MIDI in different softwares and hardwares all have their own interpretation of what Octave 0 is. Some softwares say that -1 is the lowest octave, some have -2.

>> So in the button's selection menu notes should be displayed with their MIDI number
>> The range should be from 0 to 127, as right now the low end is not available.

Bug Report

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • I do not know or understand

Can you determine, which version was used?
Version: x.x.x

Describe the bug
A clear and concise description of what the bug is.

Steps To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop Version (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone Version (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

BUG - Lock Initial Window Pos/Size - data entry

Can you determine, which version was used?
Version: 1.2.5

Describe the bug
When I try to enter window position and size, the entry field gets locked and greyed out after pressing just one key. I need to unlock the field again for every further digit.

Steps To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Views Settings' --> 'View Settings'
  2. Unlock 'Lock Initial Window....'
  3. Enter number

Expected behavior
Normal data entry.

Desktop Version (please complete the following information):

  • OS: Win 10

[BUG] window size+position is not saved

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • I do not know nor understand

Can you determine, which version was used?
Version: 0.12.44

Describe the bug
The size and position of the App window is neither saved by saving the preset, nor saved by closing the App.

Steps To Reproduce
Steps to reproduce the behavior:

  1. set custom window size + position
  2. save preset
  3. close app
  4. re-open app
  5. load preset
  6. see a different window size + position

Expected behavior
Window size and position should be saved with the preset, but not when closing the App.

Desktop Version (please complete the following information):

  • OS: Win 10 64bit
  • Browser: (electron app)

MIDI learn: assign learned parameter to Output

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • I do not know nor understand

Can you determine, which version was used?
Version: 0.12.63

Describe the bug
MIDI learn assigns the Input of an Element to the learned CC#, which is good, but...

Expected behavior
MIDI Output should also be assigned to this learned CC#, which is the actual purpose of MIDI learn.

[FEATURE] establish multiple select and Copy/Paste

pretty important for the preset creation workflow is the ability, to:

  1. Select one or several elements on the screen (optionally by pulling a frame around them or by shift+click)
  2. make Copy and Paste available
    ...for example to copy a set of elements from one page to another.

[FEATURE] Load Preset: only .js files

Is your feature request related to a problem? Please describe.
(I'm always frustrated when...) I'm looking for my preset and scroll through my folders to find it.

Describe the solution you'd like
Filter the load/open dialog for .js files.

No big deal, just a little help :)

[FEATURE] MIDI Driver settings: mark drivers & channels used in preset

must: In MIDI Driver settings mark Drivers and Channels, that are used in the current preset. Use a color for this, maybe blue?

should: In Global Settings View mark Elements with a color, which use a deactivated Driver or Channel.

could: In MIDI Driver settings display a warning, when deactivating Drivers or Channels, that are used in Elements of the current preset.

Layout changes partly unsaved after leaving layout mode

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • [] I do not know nor understand

Can you determine, which version was used?
Version: 0.12.53

Describe the bug
In Layout mode i move elements. When pressing X to leave Layout mode, some elements jump back to their previous position.

Steps To Reproduce
Steps to reproduce the behavior:

  1. Enter Layout mode.
  2. Move elements.
  3. Leave Layout mode.
  4. See elements jumping back.

Expected behavior
Elements should stay, where I told them to sit ;)

Desktop Version (please complete the following information):

  • OS: Win 10

[FEATURE] - MIDI Learn: save mapping immediately

Is your feature request related to a problem? Please describe.
Don't save a single learned mapping when leaving MIDI Learn Mode. You have to leave and enter MIDI Learn Mode again and again to assign parameters.

Describe the solution you'd like
Save the mapping immediately.

Describe alternatives you've considered
Save last mapping when clicking onto another Element for new assignment.

[IMPROVE] wordings

To be discussed here: better wordings for...

  • Elements/Objects/Controllers? (Sliders and Buttons, created in a Layout)
  • Global Settings --> Controllers Overview/List
  • Restore Values --> Restore Saved Values
  • Compact Vertically/Horizontally --> Gravity: top / Gravity: left
  • the name of our App :)

MIDI Learn: exit MIDI Learn Mode without mapping parameter

You can only exit the MIDI Learn Mode by assigning a parameter.

Describe the solution you'd like
Exit the MIDI Learn Mode by pressing X Button to go back.

Describe alternatives you've considered
Exit via pressing ESC. Both ways would be great.

FEATURE - wording: Views Settings

change the wording of "Views Settings" to "Preferences" or "App Preferences"
in order not to confuse it with the Element/Controller Settings.

[FEATURE] save in preset: layout mode settings + theme

should be stored in preset as well:

  • Compact Horizontally or Vertically selection in layout mode
  • Auto Arrange Mode in layout mode
  • Theme selection

Because: if you load a preset and enter layout mode with wrong Compact mode selected and Auto Arrange activated, the entire layout gets re-arranged.

FEATURES - Initial Window Size

Two features on the "Lock Initial Window Pos/Size" would be important:

  1. an option, to lock just the current Pos/Size of the window

  2. value hints: which value is...

  • top left window corner X position
  • top left window corner Y position
  • window width
  • window height

Controllers overview: filename incorrect

In "Controllers" overview the header displays an incorrect filename. It only updates after loading a preset.
Expected: update filename after saving a preset.

BUG - midi-bricks-persisted-app-settings.json incorrect

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • I do not know nor understand

Can you determine, which version was used?
Version: 1.2.3

Describe the bug
the file contains only the text "null"

solved:
replaced the file with yours, worked

BUG - Load Preset doesn't work

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app

Can you determine, which version was used?
Version: 1.2.5

Describe the bug
The app doesn't load my preset, which was created under 0.14.7 and still was loaded under 1.1.8x

Steps To Reproduce
Steps to reproduce the behavior:

  1. Load a preset
  2. Nothing happens after loading.

Expected behavior
Load preset ;)

Desktop Version (please complete the following information):

  • OS: Win10

BUG - Window size/pos lock corrupted in 1.2.8

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron

Can you determine, which version was used?
Version: 1.2.8

Describe the bug
Another window position and size is loaded, that it was locked to.

Steps To Reproduce
Steps to reproduce the behavior:

  1. Updated from 1.2.6 to 1.2.8
  2. App was opened in correct window pos/size after update
  3. loaded preset, did some tests, closed the App
  4. reopened the App
  5. wrong window pos/size was opened
  6. unchecked the lock in views settings, then locked again
  7. closed and reopened the app
  8. wrong window pos/size was opened again

Desktop Version (please complete the following information):

  • OS: Win10

BUG - no auto update nor Views Settings changeable in 1.2.5

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app

Can you determine, which version was used?
Version: 1.2.5

Describe the bug
Automatic Update doesn't start on startup.
Also, when trying to reset the Views Settings, it's not possible to change their settings. Switches won't move.

Steps To Reproduce
Steps to reproduce the behavior:

  1. open app --> no update
  2. Click on 'Views Settings'
  3. Try to switch settings

Desktop Version (please complete the following information):

  • OS: Win 8.1 64bit

[FEATURE] establish MIDI Learn on Listener

Nice to have:
Establish a "MIDI Learn" button next to the "Listen to CC" menu of an element. This function would recognize incoming MIDI data (for instance "Diver: Circuit, MIDI Ch.: 2, CC#: 80") and automatically apply this data to the Listener setting.

Why?
Because any MIDI hardware has huge MIDI Implementation charts for their MIDI mappings, that you cannot access always, anytime and anywhere. So you'd depend on such a MIDI Learn feature, if you don't have access to a specific MIDI Implementation chart.

[BUG] slider behaviour broken

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • both

Can you determine, which version was used?
Version: 1.1.80 (started with 1.0.49)

Describe the bug
Sliders hardly move. When touching a slider, it keeps lit (or marked), just like i wouldn't release my finger.
! When moving the mouse curser over the marked slider, the slider follows the mouse cursor smoothly.

Desktop Version (please complete the following information):

  • OS: Win 8, Win 10
  • Browser: Chrome

Additional context
Add any other context about the problem here.

BUG - Pages in Preset corrupted / Page buttons don't work

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • both

Can you determine, which version was used?
Version: 1.2.8-alpha.11
(first experienced in 1.2.8-alpha.8)

Describe the bug
After saving a preset the Page buttons stop their function (if you have multiple pages).

  • Click/tap on the Page buttons doesn't switch the pages. Neither in normal mode nor in LIVE Mode. Also in Settings Mode they are not accessible.
  • Crosscheck: load the Example Preset, Page switches work here
  • I guess Save Preset has an error.

Steps To Reproduce
Steps to reproduce the behavior:

  1. Create a preset with several pages (maybe just 1 element on each)
  2. Switch Pages with page botton: works.
  3. Save Preset
  4. Try to switch Pages: doesn't work
  5. Reload Preset
  6. see 4.

Desktop Version (please complete the following information):

  • OS: Win10
  • Browser: Chrome

Additional context
Unsuccessful attempts to fix:

  • clear cache and reload
  • deinstallation and reinstallation of the app
  • loading an older preset, that worked before

preset pages corrupted.zip

FEATURE - App name

Before we go public: Let's finally find a good name, that doesn't make it too complicated. It should be super easy to google it.

If we keep the "Bricks" thing, my favoured suggestions:

  • MIDI Brikks
  • MIDI Briqqs
    ...or just stay with MIDI Bricks

Of course open for very different suggestions! :)

[BUG] MIDI listener performance

Does the issue occur in the electron-app or the web-app?

  • midi-bricks-electron
  • midi-bricks-web-app
  • I do not know nor understand

Can you determine, which version was used?
Version: 0.12.44

Describe the bug
Bad and jittery MIDI listener performance, just as we had some time ago. Cannot clearly reproduce concrete conditions: once it works fine and smooth, next time it doesn't. Seems to interfere with Preset loading.

Steps To Reproduce
Steps to reproduce the behavior:

  1. create large preset with many elements (ca. 100). include several elements with MIDI listener on CCs of an external MIDI device.
  2. save preset and close app
  3. re-open app and load preset
  4. test performance of the MIDI listeners
  5. close and re-open the app again
  6. test performance
  7. load preset and test performance
  8. does it always perform well?

Expected behavior
always, termless good performance

Desktop Version (please complete the following information):

  • OS: Win 10 64bit

Additional context
@TimSusa hatte dir den Fehler schonmal am 6.2. beschrieben

MIDI learn: show hint for double click necessity

Is your feature request related to a problem? Please describe.
It's not obvious, that a double click is needed to activate MIDI learn on an element.

Describe the solution you'd like
Show a tooltip "double click to assign MIDI CC to this element".

[FEATURE] saved value: optional mark/hint at slider + reset button

The value of an element, that's saved with a preset, should be available beside/below a slider itself like this:
saved value
(this image already has Current Value position, as suggested in #79 )

  • an optional mark that shows the saved value on a slider graphically (if realisable)
    and/or
  • an optional value display below the current value

both to be activated in Settings dialog below "hide value":

  • show saved value mark
  • show saved value

reset function:
by tapping on the mark or the value at the bottom, you'd be ableto reset the slider to this saved value/position.

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.