-
RetroMaximus
Apologies if this is not the exact place to share my library but this is my first time sharing something like this. I recently started compiling a externals library of my own call Clear Essentials. I been learning pd for a few years now and since I've mashed together a synth or two by now I have started breaking some of those projects down into smaller more manageable external patches. So I figured it was about time to put some effort into making a library out of them. So I created Clear Essentials.
CE is a collection of patches written by me other licenses may apply for specific objects.. These are not meant to re-invent the wheel There are many other robust libraries available that provide solutions that do not need to be repeated. CE primary focus will be to provide a bit more of a graphical interface with customizable options to get closer to that end result. While most patches contained in this external library will be more gui intensive (mainly pd vanilla) with the exception of a few image objects. The option to hide the gui will be available in the case of the patch being used on a headless device.
10 new objects available via git hub.
ce_colorpicker - a small 8 swatch color picker with multipul output formats
ce_adsr - quickly modify the attack decay sustain and release of a array.
ce_customarray - create custom harmonic wave shapes.
ce_lfopartials - enables automation to partial elements of the osc voice..
ce_filters - 7 filters used to modify the signal inlet for the osc voice.
ce_oscdisplay - Display's the active osc voice in this window.
ce_voicedmidi - will convert the tone through a mic to midi notes and outlet its numerical note value and velocity.
ce_lfopresets - is a small lfo controller that is used with [ce_customarray].
ce_wavetablepresets - is a selector tool to be used with objects susch as multivsl or objects that can take a [set float float< message.
ce_gbuffer - is a simple glitch effect that holds a 2 seconds delay buffer.https://github.com/RetroMaximus/ClearEssentials/releases/tag/v1.0.2
ExamplePatch.pd is also provided to demonstrate all of the new objects working together.
I would love to hear something if you make anything cool with this.
Any feedback is appreciated.
Here for License Information
-
RetroMaximus
@Jona said:
would be great to integrate PD into Ableton
Umm heck ya... lol
If that was to happen I could have one heck of a addon on my hands. lol
-
RetroMaximus
@seb-harmonik.ar I did my best at using as little externals as possible. the main 3 being else and cyclone and iemlib I will have to do a bit of research on them i guess. Thx for the info.
-
RetroMaximus
@EEight Thx for your input it is much appreciated. I will take Reaper's model into consideration when the time comes.
-
RetroMaximus
So I've been rattling around the idea of writing a website that allows people to download my patch for free or donation.
So if the user chooses the first option they may need some knowledge of pd to actually run the patch. "put in a tad bit of work (learning) for the free version" which wouldn't be to hard to download and install pd then open a *.pd patch for somebody with no experience with pd.
Aside from the free download there will be a standalone exe compiled with the heavy compiler. I have no idea how to use it yet I have only read about it and if I understand correctly it is no longer being developed? but is available somewhere?. This version of the patch will only be available through donation of any denomination.
This will allow the user to use the patch without worrying about pd at all. For a small donation of $0.25 a dollar or whatever it may be.
Good Idea Or Bad Idea?
Would this be frowned upon seeing as pd is so open?
Is there any rules against monetizing a patch in this way?
-
RetroMaximus
@simonhillfr Are you developing with Unity? upvoted as Im interested in using unity3d for a pd gui designs. Not really sure how I could help but I'm really curious any game related
-
RetroMaximus
The history and break down of OverBlast v1.0.1 32step Sampler Sequencer
In this video I talk about what got me started in pure data along with a brief history of how I developed OverBlast. The video is 37 minutes long so grab a cup of coffee
Be sure to subscribe to my youtube channel for current updates on this patch. I forgot to post here on the 1st when I released this video. Sorry :/
Thank you to everybody who has taken a interest in this patch it has been my first big project other then completing small tutorials and all of you have been a huge inspiration to get this done. I've taken note of everyone who help with any solutions I needed and will be mentioned on the inside of the patch.
Note - many updates have been completed since this video in process of recording the next demo.
-
RetroMaximus
I'm having some trouble with this. The second screen shot inside of SelectionLoopControls.pd has been least consistent the first stops every time which is what I want but the last 100 milliseconds is not being played no matter where the start and end queue points are.
Any ideas what I'm doing wrong or how to fix this?
-
RetroMaximus
This is the route I went I made some progress last night and ended with something very similar.
So at the moment all one has to do is click the test values message or any string that is sent to [r ToProgrammer] will be added with the creation arguments.
As soon as I saw your first example I figured that was the route to go. I have a few more things to implement like a page or bank controls in case there is more elements then space allowed. Along changing the color of the background struct i will have to figure out how to calculate rgb values down to 1 single atom for the [obj< message to understand.
But now for some reason wish seams to crash when I clear the playlist every once and a while. It seams to happen every few hours and I'm not completely sure why but for the most part its fairly stable.
-
RetroMaximus
Hmm well this is interesting I didn't think of appending the object as a whole. I was to worried about drawing everything.
I am definitely going to play with this.
I already feel a few questions bubbling up but im going to play with this for a day or 2 and see what develops. I feel like once everything is drawn a cloned object will be needed to update any changes to a given element. such as Button_text being replaced with the first argument on x line of {textfile} and also the rgb color of the playlist element. background. correct me if im wrong?
-
RetroMaximus
Im only able to draw one element made up of 3 structs. I have not have any success turning this in to a group of elements to create my song builder. I have had to take many steps back to the most stable version that I have been able to come up with.
The playlist element consists of 3 structs contained inside [pd $0-display]
The first struct is a $0-bang object this bang will trigger the matching # to play the wave "loop"
The second struct is the play position. "the bright green bar" when a wave is played its play position is updated increasing the size of this green bar. until it == 1.
The last struct is a background panel more details below.
The arguments for each line inside the text file are as follows.
1- # of wave file we wish to play. (Not to be confused with the current index of the file or line number. this argument will most likely never run in sequential order. It can be any given number.)
2 - R
3 - G
4 - BThe last three arguments are rgb values for the background struct.. Each playlist item should change colors when it is first drawn depending on the values set in the text file.
At this point im stuck I dont know how I should append more copies of this playlist element/subpatch to [pd $0-display].
Also if there is more elements then space allowed I'm going to need some sort of page or bank control to update/show the rest of the playlist items.I was also thinking of adding a second bang to act as a removal function for when it comes to editing items in the playlist.
here is my current song builder patch.
SongBuilder.zipI hope someone can help. I've been struggling with this for a while.
-
RetroMaximus
Wow I needed this too great little patch right here.!!
-
RetroMaximus
@Balwyn Thx this is exactly what i need Ill be using a variation of this for sure. Thank you!
-
RetroMaximus
I found a simple enough poly synth patch taht uses a cloned object to achieve a poly synth from a [osc~] object. I got it working then modified it with a envelope. Now I don't know where Im going wrong the [sel 0] in ploysynthclone dose not seam to work. There always seams to be one underlying note when my external sequencer a "trigger finger pro" stops playing notes.
I should note the poly synth works inside the cloned object. This all began when I added the envelope.
This is the patch I found to handle the envelope. As you can see a clone object is not used so I feel like that is where my issue is I have a feeling this is happening because of the [next $1< message.
Also my patch is not exact to the original I am drawing the envelope line in a separate sub-patch and it is being drawn correctly.
-
RetroMaximus
Can anyone point me in the right direction of a tutorial or any literature for creating a patch to scan and play am and fm radio station frequencies?
-
RetroMaximus
Wow well this can also work as a zoom type of utility also. very cool.
I think I'm going to scrap what I have and use your patch as it is sooo much cleaner and just by the way its structured alone give me a few other ideas.
This is great yesterday I got stuck trying to "make things better" drawing the start queue and end queue positions "the green rectangle" to where now only the very first sample point gets selected. Then in return when i click the play button the player stops instantly because the end position has been reached. All because I thought I should change the scale value to 1 when I don't think i had to, Now the play positions seams to start at 1 and go to 1.9 instead of 0 to 0.9 I don't know what I did. lol
You patch will solve my current problem in pretty sure. Thank you soo much once again!
-
RetroMaximus
Whoooooooo it was [donecanvasdialog< Thanks sooooo much for the input guys!! you guys rocked it once again! @ingox @whale-av
Muchhhhh cleaner!.
-
RetroMaximus
@whale-av While this is a heck of a lot cleaner then what i have down. It is partially incorrect I don't need to change the vis-size for the canvas as this is already being set in a smaller subpatch. I need to adjust the "visual size" of a graphic.
In other words what message can I use to change the x-range for pd-WaveFormLine.
as @ingox mentioned it might be [donecanvasdialog(
-
RetroMaximus
@ingox I was setting x range manually while testing I found that if I divide the total samples by 500 and used the result as the x-range value everything fit perfectly for every sample loaded. I just didnt know how to make it happen through a message.
I didnt know at the time of [change vis-size 0 $1< Im going to give that a shot now.
-