View Issue Details

IDProjectCategoryView StatusLast Update
0000199OpenMPTFeature Requestpublic2012-01-11 20:41
Reporterjegstock Assigned ToSaga Musix  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionsuspended 
Platformx86OSWindowsOS Version7
Product VersionOpenMPT 1.19.04.00 (upgrade first) 
Summary0000199: I want to PAY a modplug developer to find/use existing modplug functions for my socket connection to modplug
Description

This is to anyone who is familiar with OpenMPT's source, it is a feature request, but one that would most likely only be useful to me, and I would be willing to pay someone to help me with it.

I am an actionScript programmer that also does music on the side and I am wondering if I could hire you (or at least maybe get some input) for my dream project. I have it partly done, but now am stuck. This dream project is to have my own personalized interface for working with modplug samples. My main idea was to create a socket connection between OpenMPT and my own actionscript interface so that the modplug window would be open in the background, but that I could use my own actionScript based interface to control what modplug is doing.

*---This is what I have finished already.---
I hired someone to put code in the main loop of OpenMPT's source which creates a socket connection with my own actionScript program. Now my program can send a string to modplug, and then in response modplug will run some code and send a reply string. For example, this is one part of the code that IS ALREADY ADDED to modplug...

if( strstr( query_string, "NEW" ) != 0 )
{
    theApp.OnFileNew();
    reply_string = "New project opened.";
}

If my actionScript program sends modplug the string "NEW", a new project opens in my modplug window. This is as much as is functioning already.

*---This is what I need help with.----
-load samples
-Load vst effects, retrieve the parameters,the possible values of those parameter, and then set the values of those parameters.
-export an array of loaded samples with the desired pitchs/ effects/timing

Originally the person I hired was going to do the above things also, but after adding the socket connection they told me they simply did not understand music sampling terms or what was happening in the code and therefore could not figure out how to get me the functionality I wanted. He then suggested I contact an actual modplug developer for help.

*----Here's some examples of how it could work.-----

String sent from my program
-"Load*C:\sounds\mySound.wav"
Reaction by modplug
-load the sample "C:\sounds\mySound.wav"

String sent from my program
-"getPluginList"
Reaction by modplug
-reply_string = "nameOfFxPlugin,PlugnIDnameOfFxPlugin,PlugnIDetc..";

String sent from my program
-"loadPluginsomePluginID1"
Reaction by modplug
-loades an vst fx plugin to fx slot 1

String sent from my program
(exportWavsample#,time,pitch,volume,vstFx#)
-"exportWav
1,1000,6,1,11,2000,5,.5,2"
Reaction by modplug
-exports a wave file with
sample 1 playing 1000 miliseconds into the wave transposed up 5 half steps at full volume and applying vstFx#1 to the sample.
*sample 2 playing 2000 miliseconds into the wave transposed up 5 half steps at half volume and applying vstFx#2 to the sample.

These are just examples of how it COULD work, hopefully this just gives you an idea of how I would like to control OpenMPT, (and hopefully you could help determine what is the path of least resistance for getting there!)

Please get back to me about if you can help me out, and if so what kinds of time/cost it would entail.
Thank You!

-Jeremy

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2011-10-15 17:52

administrator   ~0000523

Is there any specific reason why you would want to control this using an external actionscript program? There is scripting support (most likely through Lua or some similar scripting language) planned at some point, which would be able to support some of the things you listed above. If you only intention is to automate OpenMPT, this would be the way to go.

jegstock

jegstock

2011-10-15 18:56

reporter   ~0000524

I've just always dreamed of having complete control over my music sampling interface and to have the power to easily modify my interface at will.
ActionScript is easy for me to write/modify since it is what I do for work.
Originally, I was writing a program from scratch in actionScript for making sample based music, but I was writing code for each effect myself and my re-sampling to change the pitch sounded all fuzzy and crappy, and processing the samples was really slow. That's when I got the idea that maybe I could just use my interface with OpenMpt because OpenMpt already has vst support (so I would not need to write every effect by hand anymore.) and its re-sampling sounds great, and the code is already written, and it doesn't matter that it is pretty janky to need to have a whole other program (OptnMpt) open while I do my thing, cuz it is just for me. Understand why I want this now?

jegstock

jegstock

2011-10-30 13:18

reporter   ~0000538

Is $1000 USD enough to ask for putting together this feature for me, or should I be offering more? Would it be very complicated because of the way the program is built or something?

Saga Musix

Saga Musix

2011-10-30 13:47

administrator   ~0000540

I wouldn't say money is a limitation here; time is. Even with that much money being offered, I hardly have enough time to pursue all my dreams and plans around OpenMPT and its community (due to real life), and adding just another (paid) task to that list doesn't make me less busy. I'd guess it's the same for the other (semi-)active developers here, but I won't speak for them.

jegstock

jegstock

2012-01-11 20:15

reporter   ~0000598

just an update that this help is no longer needed. Ended up just using openMPT as a reference and building the functionality I needed from scratch using soundtouch and the VST SDK examples. IT WORKS! I AM SOOOO HAPPY!!!! :D

Saga Musix

Saga Musix

2012-01-11 20:41

administrator   ~0000599

I'm glad to hear you found a solution.

Issue History

Date Modified Username Field Change
2011-10-15 17:25 jegstock New Issue
2011-10-15 17:52 Saga Musix Note Added: 0000523
2011-10-15 18:56 jegstock Note Added: 0000524
2011-10-30 13:18 jegstock Note Added: 0000538
2011-10-30 13:47 Saga Musix Note Added: 0000540
2012-01-11 20:15 jegstock Note Added: 0000598
2012-01-11 20:41 Saga Musix Note Added: 0000599
2012-01-11 20:41 Saga Musix Status new => closed
2012-01-11 20:41 Saga Musix Assigned To => Saga Musix
2012-01-11 20:41 Saga Musix Resolution open => suspended