Comments (18)
@izzyreal I am using MSVC and following the instructions in the README (conan install .. --build missing and conan build..) if that is what you mean by process.
I will try vmpc-workspace now and see if that will work.
Thanks for the fast response!
from vmpc-juce.
I have sent you an email from [scrambled]@gmail.com to [scrambled].nl. Looking forward to speak with you soon!
from vmpc-juce.
@theModernSurrealist Thanks for reporting this issue. Which process are you using to build?
For what you describe I'd recommend to clone https://github.com/izzyreal/vmpc-workspace and run python build-workspace.py vs2022
. Then you get a VS project in the build
dir which allows editing of all the source code.
from vmpc-juce.
I also have another question - is there a .jucer file I could use to modify the GUI a bit easier? If so, where can I download it?
from vmpc-juce.
The project is fully CMake-based I'm afraid, i.e. no Projucer involved. But I'd be happy to answer any questions you may have about the GUI code.
from vmpc-juce.
@izzyreal I am working on an audio sampler box based on your software - poor mans MPC.
It needs to run on linux, plus the extra keyboard controls meant that I can essentially recreate the MPC workflow without the limitations it had by emulating keypresses via push buttons.
I wanted to run your software on this device, but I only wanted the screen portion as everything else could be controlled via MIDI or keyboard. Would you have any guidance on achieving this?
from vmpc-juce.
Yes. In fact, the project architecture is designed for such cases. The core of VMPC2000XL is mpc
: https://github.com/izzyreal/mpc
It is a static library that does nothing on its own. It needs a GUI or UI implementation. vmpc-juce
is one such GUI implementation, but I have already experimented with 2 others: https://github.com/izzyreal/vmpc-unreal-plugin and https://github.com/izzyreal/vmpc
For your purpose, you would probably want to use mpc
rather than vmpc-juce
. Unfortunately there is no clear API or documentation for how to create your own (G)UI implementation for mpc
. So it will take a bit of poking around in vmpc-juce
, which can be considered a reference implementation, and maybe you can draw some inspiration from the other GUI implementations (vmpc
and vmpc-unreal-plugin
).
I'm not sure how much guidance you need, but I'd be happy to have a video call with screen sharing where I walk you through some relevant stuff and answer any questions you have. I think for initial communication that would be the most efficient, and we can switch to email or Discord after.
from vmpc-juce.
I should also mention that depending on your requirements there may be way simpler solutions! But if it's the real MPC2000XL flow and functionality that you need, mpc
definitely fits the bill.
from vmpc-juce.
Wow, I really did not expect such an offer!
Of course, any help at all would be extremely appreciated.
I understand what you mean. I am fairly competent in C++, but I am clueless when it comes to JUCE, hence my struggle with vmpc-juce. Ideally I am looking for the MPC workflow because I want to emulate the good times I had with my dad on the old MPC2000XL as well as bring back some of the more hands-on approach of making music, without relying on a computer that takes upwards of 10 minutes to start.
I am planning on running (V)MPC off of a Raspberry Pi 4 with a small 360p display connected to a powerbank as well as an MPD218.
I am a bit confused however on the structure of VMPC2000XL. As far as I am aware:
MPC is the core. It relies on ctoot, moduru and akaifat to run properly. VMPC-JUCE is the GUI portion, and is not necessary for MPC to run.
Would I then have to use something such as Ncurses for CLI interfaces or cairo to create a frontend for the sampler?
Your offer to help would be greatly appreciated considering that there is no specific documentation for MPC (although the comments in the code greatly help) and it would be great to sort out a video call with screen sharing at some point in the near future.
Just out of interest, what simpler solutions do you have in mind?
Thanks so much!
from vmpc-juce.
Also, to build vmpc
, there is a missing conan remote.
In the readme, you've left
What are the missing remotes?
from vmpc-juce.
vmpc
is heavily unmaintained I'm afraid. I wouldn't spend too much time on getting it to build. You could browse the code using for example Sublime, or check some of the commit diffs on GitHub directly.
Simpler solutions: Depends on your requirements. From what I hear, I don't think simpler solutions would yield a close match. But if all you need is to trigger some samples, for example based on a text file that lists up to 16 absolute WAV file paths, you could write something from scratch with RtAudio and RtMidi for example.
Let's indeed do a video call then. Reach out to the below
and we'll take it from there.
from vmpc-juce.
VMPC-JUCE is the GUI portion, and is not necessary for MPC to run.
True, but mpc
does need some (G)UI implementation -- something that instantiates the main entity mpc::Mpc
and directs host system user input to it.
The only entry points (executable targets) in the mpc
project are its unit tests. There are not many, but it does give some indication of how one would start out writing a (G)UI implementation. See for example https://github.com/izzyreal/mpc/blob/master/src/test/MainTest.cpp
from vmpc-juce.
Again, thanks for the speedy reply.
I understand now - thanks for the clarification.
I will begin to study the unit tests, and work on implementing a GUI.
I will probably do it in Ncurses because it will allow for faster speeds (no window manager), it being written in C++ and ease-of-use seeing as I am only looking to use the screen portion of the VMPC.
Also, how could I go about linking the Mpc.hpp file to the GUI code - would I call the features from that file or from the individual .hpp files in /src/main? Could I take inspiration from how JUCE links to the static library?
Can we discuss this in the future video call?
I will go to sleep soon, but I am happy to arrange a video call soon. I'll drop you an email as soon as I can.
Thanks for the help.
from vmpc-juce.
You're more than welcome! Would love to see this come alive. I think it will be a somewhat bumpy ride, as you are the first besides myself to try this. Since I have intimate knowledge of the code base, I have a pretty clear idea of what code of mpc
is meant to interact with its consumer (i.e. a GUI implementation), and what code is for internal use only. But I consider what you want to do a very cool and valid use case of the mpc
project, so I'll try to assist where I can. With some patience I think we can make it work, and hopefully I will get a clearer picture of how to extract an API from mpc
and I can encapsulate things better for non-vmpc-juce
consumers. For example, it's about time mpc
gets one of those nice include
directories that expose the headers that are meant for external consumption.
from vmpc-juce.
Also, how could I go about linking the Mpc.hpp file to the GUI code - would I call the features from that file or from the individual .hpp files in /src/main?
Indeed most easily discussed in a call, but with a bit of luck I can work alongside your efforts to at least refactor the project into having an include
dir meant for external consumption.
from vmpc-juce.
I've scrambled our email addresses, since this is a public thread that scrapers can pick up on. I'll keep an eye out for your message.
from vmpc-juce.
Right! My apologies. Looking forward to speak soon.
from vmpc-juce.
It's all good :) Speak soon.
from vmpc-juce.
Related Issues (20)
- Tempo changes in host make VMPC2000XL run out of sync HOT 1
- iOS version needs `NSBluetoothAlwaysUsageDescription` for BT MIDI
- iOS version shows lack of anti-aliasing at top of LCD
- Clock hangs when adding a note through STEP sequencer HOT 4
- <ENVELOPE> filter ignores ATTACK value when DCY MD is set to START HOT 1
- Mixer displays wrong pad bank HOT 1
- Use PositionInfo rather than deprecated CurrentPositionInfo HOT 1
- Forward MidiClock input messages to mpc HOT 1
- VST3 is not detected by Ableton Live Lite HOT 1
- Reliance on deprecated dependency HOT 4
- Partitions / file directory problem HOT 1
- Settings wheel doesn't display settings (distro specific?) HOT 3
- Resizing in Ardour (Linux) can result in displaced Components HOT 5
- Haptic feedback iOS & macOS
- List of Linux dependencies missing HOT 3
- [bug] No key repeats in Linux HOT 3
- Dragging and dropping sounds on Wayland (Linux) HOT 2
- Make icons in the top-right and version number collapsible
- Unable to use Convert in Song mode HOT 4
- Use C++20
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vmpc-juce.