SynthMaker

Nice new GUI you've got

Archive · 2004 44 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

bManic ·

Jorge and Malc,

Brilliant GUI work! Very nice and intuitive. I really like the layout and how the navigator works. Also the schematic view is now much more nice to work with as you can drag multiple objects around. Also, copy and paste trough ctrl+c / v finally works. Yay!

Ideas:

I'd like to see more use of modifier keys. An example: While holding ALT drag a box around an area and release the mouse button. Bam! Instant zoom into this area.

CTRL dragging a module or several modules should copy them. You could also use the idea from major sequencers of " ghost " copies. That is, you could make a copy of a module that has reference to a mother module and when you modify the original "mother" module the "children" or ghosts also reflect this change.

Question: Is there a keyword or hidden way to get into deeper editing? I'd like to look at how the envelope and slider were done. I really miss this depth from the original synthmaker version.

Cheers! bManic

bManic ·

btw. FANTASTIC feature that " drag module in-line with other modules, keep down the mouse button for 3 seconds and it will auto connect ". Amazing feature! =)

Cheers! bManic

jorge ·

Hi bManic

Thanks for your comments. While completing the new framework we've been trying to keep the number of primitive components in the toolbox to a minimum set. There are actually a lot of other primitives that are hidden in the version you tried. Specially the low-level components are very quick to implement or move across from the old version but we want to do that in a controlled manner possibly in response to feedback obtained from beta testers like yourself. So feel free to request any primitives that are preventing you from further testing.

We're now in the process of deciding the architecture for the custom GUI functionality. We're trying to improve on the old version and that's another reason we're keeping the GUI primitives out of the toolbox for now. We want to have both a way of implementing GUI components from low-level primitives and also high-level GUI primitives for quick results. The slider and adsr GUI components that you see in the toolbox are actually primitives, they dont allow you to go inside them. If you decide you want to start testing custom GUI components let us know which primitives you need and we'll include them in the toolbox and make the new version available.

What you call "ghost" copies is something that has started to be implemented in the old version of synthmaker, we call it references. I think it would be very useful.

malc ·

Let me add my thanks too bManic.

The ALT drag zoom would be easy to add. You can already zoom to a selection - just select something then use the zoom slider to quickly zoom in on that.

The CTRL drag to copy is actually in there already but I disabled it because it wasn't working properly. It'll go back in soon.

Cheers,

Malc.

malc ·

Also did you see the Link Components feature. Similar to the Auto Link, but it works on a selection. So select say a chain of components, then choose Link Components from the Schematic menu.

Alternatively, with the same selection (you can undo to remove the links) hover over the Link Components button on the selecion panel. This is the one that looks like two connectors and a link in between. You'll get a preview of what you're about to link. If you're happy, click the button and hey presto!

The logic for this may still need a bit of refining, still fine tuning!

bManic ·

Thanks for the heads up guys! I thought the slider and envelope were constructed from scratch using primitives. Heh, never thought they actually were primitives. 😀

I don't really need any custom gui primitives yet was just curious how you got that 3D feel to the slider, so that it 'leans' in the direction you push it. Love that little detail!

Can't do much testing right now as it's lunch break here at the university but I already got the program to hang while playing a few notes and at the same time disconnecting the LFO from the filter module. I also got it to hang while typing nonsense into the Assembler code box but that was to be expected 😀

When I get home later today I'll start to do some serious testing. Anything specific you want opinions on? I'll try out the raw sound of the saw wave over my genelec monitors and compare it to some other synths that have a good pleasing saw wave.

Cheers! bManic

bManic ·

Oh one more thing. Why not make that " drag box to select modules " in a way that immediately when the border of the box touches a module it gets selected instead of it having to be inside the whole box. I mean, in windows it works natively like this that as soon as the box touches something the file/icon is selected.

- bManic

jorge ·

bManic wrote: I already got the program to hang while playing a few notes and at the same time disconnecting the LFO from the filter module.

I'll try to replicate it.... and fix it.

bManic wrote: When I get home later today I'll start to do some serious testing. Anything specific you want opinions on?

I'd like your opinion on performance although there is still a lot of room for improvement.

bManic wrote: I'll try out the raw sound of the saw wave over my genelec monitors and compare it to some other synths that have a good pleasing saw wave.

The sawtooth oscillator is not yet interpolated so you're not going to get good results. An interpolated version should be available very soon. We might keep several separate versions of the sawtooth oscillator in the toolbox for quality comparisons i.e: 2K/4K lookup tables, interpolated/non-interpolated etc.

bManic ·

I see you support mouse wheel zooming but it doesn't seem to zoom to the selection which is a pity. Could this be changed to zoom to the selected components?

- bManic

jorge ·

bManic wrote: I already got the program to hang while playing a few notes and at the same time disconnecting the LFO from the filter module.

Actually, at the moment, there is no code to protect from changes to the schematic clashing with the notes playing but that's easy to implement. For now you'll have to avoid changing the schematic while playing notes.

malc ·

The mouse wheel zoom could be changed quite easily. However, it's supposed to center on where the mouse pointer is. So if you put the pointer over the area you want to zoom and then track it as you zoom it'll zoom to that point.

The mousewheel zoom can also be used as a zoom and pan function wrapped into one.

It would be easy enough to make it zoom to the selection if there is one. Thanks for the suggestion

Also interesting point you made about drag selecting. Cbit said the same. We don't have any stong feelings on this - we want what works best for the application.

Windows does indeed work this way - touch selecting rather than enclose selecting. Other applications (Word for example) use enclose selecting. I think it depends on the software. When items are close together touch selection becomes a pain as no matter what you do, you end up including stuff you don't want.

Jorge actually has prefered the enclose select when he's been using it (correct me if I'm wrong Jorge). I think it'll become clear which is the most useful once people are using it. If we find this issue polarises users then we always have the fallback of making it a user setting.

bManic ·

Bug:

Undo command doesn't take into account the Link Components linking.

Example: Unlink a couple of modules from the example and link them again in a different way trough the Link Components feature. Then undo the changes.. voila, a big mess of links =)

- bManic

jorge ·

I also found a bug, actually my fault: When trying to move the In and Out modules from the example schematic to the toolbox the application will crash as they have inside external primitives which assume they're part of a synth which is not the case when they're in the toolbox.

bManic ·

About the drag select. Maybe make it a user selectable setting in a setup or preferences menu? I think that complex software like synthmaker needs good user selectable ways of working. This way each user can make the workflow as close to their own needs as possible.

- bManic

jorge ·

bManic wrote: I'll try out the raw sound of the saw wave over my genelec monitors and compare it to some other synths that have a good pleasing saw wave.

I've just finished implementing the interpolation for the sawtooth oscillator. You can download the new version from [old link]. I'd be interested in your opinion about the quality of the sawtooth wave. At the moment it uses 2K samples lookup tables with linear interpolation but its very easy to use bigger lookup tables if needed. I think the quality might be ok as it is.

lalo ·

Hi jorge! did some test on the saw osc... it sounds rather "grainy" at my ear.... and by ear i can feel a lot of aliasing.... is the osc bandlimited?

I think that we need a more confortable way to disconnect cables ..perhaps select the cable an hit delete is the better...

just to know...will the ne SM have the (beloved) one-sample-feedback feature?...this is the thing that carry SM in its unique place 😉

...i think as bManic that "SynthMaker" is easy to be confused with SynthEdit.. so i'd find another name...the SM community is pretty little at the moment so maybe the namechange will not have too much bad consequences 😉

just my 2 cents

lalo

malc ·

Thanks lalo.

Your 2 cents is worth much more than that to us by the way 😉

I agree completely with your comment about link disconnecting. This is definitiely on the list.

One sample feedback is definitely still a feature of SM too.

bManic's recent post about names was very well put. Jorge and I spoke a little about this last night. We're definitely giving this issue alot of consideration.

I'll let Jorge reply on the osc issues - not sure what he's been doing with the very latest ones.

Malc.

jorge ·

lalo wrote: did some test on the saw osc... it sounds rather "grainy" at my ear.... and by ear i can feel a lot of aliasing.... is the osc bandlimited?

Yeah, the osc is bandlimited and starting with version [old link] it is also interpolated so the quality should be good.

One problem the sawtooth oscillator still has is that it plays with higher volume than it should, so if you just connect it to the output it will alias. Try multiplying the sawtooth by for example 0.1 before outputing to the external audio outputs.

lalo ·

hi jorge! yes i was testing with the 0.9c yes at lower volume all sounds better... how a hi volume can cause aliasing?..is a matter of distortion/digital clipping not a samplerate related thingie..i'm i right?

oh...will we have an "empty wavetable" with variable lenght and with various kind of intepolations (linera/polynomial etc...) and the option to turn interpolation on and off...just to do our "primitive" experiments ?

thanx lalo

lalo ·

another little issue.... in the ADSR module when the attack time is set to 0 the overall volume seems to encrease a lot....if you set the attack >0 then the reached amplitude value is lower..... lalo

jorge ·

lalo wrote: how a hi volume can cause aliasing?..is a matter of distortion/digital clipping not a samplerate related thingie..i'm i right?

yeah, you're right. Before going out to the soundcard all data is clipped to be between -1.0 and 1.0.

lalo wrote: oh...will we have an "empty wavetable" with variable lenght and with various kind of intepolations (linera/polynomial etc...) and the option to turn interpolation on and off...just to do our "primitive" experiments ?

At the moment I can easily suply different versions of the sawtooth oscillator with different table sizes and with or without linear interpolation. Feel free to request any. I'm very interested in feedback related to the sound quality of the several versions of the sawtooth oscillator with different table sizes and types of interpolation. At the moment I think 2K lookup tables with linear interpolation will have the best relation quality/performance. Different versions are very easy to create based on the existing one, my plan is to have a few versions in the toolbox just for learning purposes so people can actually hear the difference. In my toolbox at the moment I have both the interpolated and the non-interpolated version. The way I test for quality is with an FFT display component that is not released yet. I can definitely see a difference in the FFT with and without interpolation.

lalo ·

thanx jorge! ...a 2048 linear interpolated is good enough i guess..... but for the future a kind of wavetable primitive would be good...just like c-sound for example...

jorge ·

lalo wrote: thanx jorge! ...a 2048 linear interpolated is good enough i guess..... but for the future a kind of wavetable primitive would be good...just like c-sound for example...

Good idea. For now I was thinking of only suplying a few versions because the sawtooth wavetable uses 256 versions of the sawtooth to keep it bandlimited. If I make a very flexible sawtooth where you can select the size of the table you can very quickly start using huge amounts of memory. I guess I can always put a limit.

I think I'll start by creating simple components and letting them evolve into more flexible versions once they've been tested a little.

lalo ·

..ok i did i simple FM two operators synth...with amp env and lpf filter.. i'd like to save it as a VSTi to do some music 😉 lalo

jorge ·

lalo wrote: ..ok i did i simple FM two operators synth...with amp env and lpf filter.. i'd like to save it as a VSTi to do some music 😉 lalo

that's a very good point. The VSTi export is very easy to implement due to the way the new code is structured. We're not sure if it should be part of a free version or if it should be one of the features to gain after registering. I'd really like your opinion.

lalo ·

..mhh...don't know it depends on the pricetag you're thinkin about.. i think it would be good VST instruments and VST effects export ....and Midi VST too...with totally configurable audio/midi input/output....and vstTimeInfo support etc etc.... i'll think more about the free/registered version differences..

maybe

a "beginner" version with only high-level modules and all the vst export stuff but no access to the "primitives"

a "student" version with all the primitives but with no vst export

a "professional" version with the whole stuff...

lalo

bManic ·

Hi,

Haven't had chance to try the new saw yet, sorry. I just downloaded it though so I'll give it a go tonight.

About the different versions. I think you should maybe make VSTfx and VSTi export available for all versions but with a nag screen. The created VSTi or VSTfx should nag the user when opened untill registered. This way developers could try out your software fully working but will need to buy a license before distributing their creations.

Btw. I think you should just sell two versions. A basic one like Lalo suggested with no access to primitives and a professional one. I would then have a Student price for the professional version. This is how most other software works.

Cheers! bManic

bManic ·

One more thing. Your software WILL BE cracked. All software always is so I suggest going the same way as Cakewalk and simply trust the honesty of your fellow man. This is anyhow the ONLY way of making this world a better place. It's no use "forcing" people to limitations/bad copy protection but instead offer registered/licensed users good support and a warm welcome.

If you target the software to schools and professional studios or other business sectors they WILL buy the software (unless it's ridiculously expensive) as they can remove it from the tax. Also, no professional would risk losing the business over illegal software.

Cheers! bManic

cbit ·

very nice! i still feel that the right mouse button should bring up a context menu rather than jumping back up to the previous level though 🙂 (right mouse clicking is what i'll automatically do when i want to encapsulate a selected group of components into a module).

malc ·

Hi cbit, thanks for that.

Your point about the right-click is a good one. This along with the drag select leaves us with two features where there is contention about the behaviour.

For the drag select you could argue one way or the other. Some applications use 'touch' select others use 'enclose select. However right-click behaves the same in pretty much every application I know.

I had exactly the same thought as you about the right-click when I first tried SM. However, I've got used to it. In fact I'm so used to it that an odd thing happened to me the other day; I found myself browsing files in Windows and right-clicking to go up a folder! SM is playing with my mind 😉

Anyway I think you are right. I'm sure that most people will be surprised initially by this behaviour. Maybe we should have it as an option for those who need a very fast way of moving between modules without having to go to the navigator. We can put in the user preferences along with the drag select behaviour perhaps?

Do you think we should have right-click context menus as well as the selection hover panel?

cbit ·

i can only speak for myself of course.. id be more confortable working with context menus i think.. i think the idea of having them as a prefs option would be great, if its not too much trouble (the nav screens will be a plenty fast enough way for me to get back to a higher level).

bManic ·

jorge, malc,

Is it very hard to give the user SEVERAL options? I think complex software like this should have a thorough " Preferences " or " Settings " dialog where one part of it is Usability/UI. Here are some ideas:

Moving up folders:

Right mouse button, Right mouse with menu popup with a "go back" right at top, double click left mouse button on empty space (common in some software), CTRL click on empty space, User definable KEY.

These are just some options. IMO you should be able to give the user power to choose their own keyboard shortcuts for EVERY tool/task available in the whole program. This is what makes good aplications fast and powerful.

Cheers! bManic

lalo ·

version d? 😀 😀 lalo

jorge ·

lalo

We're half way through having VSTi export working, it will probably be in the next version d release. Here is a screen capture from our current internal version:

There are 3 new buttons in the selection panel. When a module has one Midi input and 2 Mono outputs the VSTi button shows allowing a VSTi plugin to be created. The lock button ( second last ) is to control if the front panel components can be moved around. The last button is the visibility icon and it controls if a GUI component is visible in the front panel of the parent module.

Some of the improvements to the user interface are: Links can now be easily deleted just by clicking on them. Drawing performance has been greatly improved. Mousewheel zoom will centre on the current selection if there is one. GUI components like the ADSR now draw properly in the toolbox.

lalo ·

😮 😮 wonderfull!... if we could have VSTfx export too and multi input/output, a serious SM VST testing will start 😉 thanx lalo

cbit ·

just checking.. will it be possible to export effects with the following characteristics:

A vste effect with 1 midi in and one midi out (no other in or outputs)

A vste effect with multiple audio in and outputs (ie. more than 2 inputs/more than 2 outputs)

(haha lalo you beat me to it!)

lalo ·

MIDI IN --- MIDI OUT AUDIO IN (multi) ---- AUDIO OUT (multi) MIDI IN+AUDIO IN (multi) ---- AUDIO OUT (multi) MIDI IN+AUDIO IN (multi) ---- MIDI OUT+AUDIO OUT (multi) etc...

all these should be possible...in fact it makes possible handling and generation of midi and audio data 😉

love lalo

jorge ·

thanks lalo and cbit, great feedback

VST export will initially happen when a module has exactly two Mono inputs and two Mono outputs. After that we'll follow your advice on other combinations of inputs/outputs and what they should create. The main thing at the moment is that the mechanism for creating exports is based on the inputs and outputs used and it is easily extensible to other combinations.

It makes a lot more sense to export a module rather than a full schematic like it used to be in the old version. Each module has its front panel ( rather than having one VST panel for the whole schematic ), this allows each module to be treated as a separate exportable plugin and more than one to co-exist in the same schematic. The long term idea is to have the full schematic evolve into a full sound generation system with Midi and Wave tracks and with several synths/effects being used at the same time.

cbit ·

getting rid of the 'main' front GUI panel for an entire schematic makes a lot of sense.. sounds great 🙂

lalo ·

really amazing..i like the idea to keep maximum modularity..great! lalo

bManic ·

this all looks fantastic! Good work guys. Now, don't forget the preference/settings menu thing. Give the user some options to customize the way SM works, ok? 🙂

Cheers! bManic

malc ·

Thanks bManic.

Don't worry, those issues haven't been forgotton. I've had my head down for the last few days so I haven't posted.

I agree that it's a good idea to offer choices for the way that actions are performed. This doesn't necessarily require one way of doing things to be chosen exclusively over another - many alternatives can be provided which live happily alongside each other.

For example, to delete a component you can use the menu, hit the delete key or click the hover panel button. You don't need to say in advance that you want to do it a particular way. I think this kind of choice makes an application much easier to use because you're not restricted to just one way of doing things.

Unfortunately there are some behavioural aspects that can't be provided for in this way. You can't have a right-click move to the parent module and at the same time allow you to get a context menu. In these cases I think it makes sense to allow you to choose the behaviour that you're more comfortable with.

So we now have an Interface Settings dialog. This will allow you to choose how the drag select works (touch or enclose selection). You will also be able to choose the more conventional context menu behaviour for right-click.

In addition there are some options for controlling how the auto linking works. These options coupled with the fact that you can now right-click when a potential link is 'suggested' to add it immediately make the auto linking feature even better IMHO 😉

I've stopped short of providing the ability to set shortcut keys for every command - certainly for now. I definitely think that all the commonly accessed commands should have sensible shortcuts. Most of them do, so if there are any that I've missed please let me know.

Once you know what the shortcuts are I don't see why you'd want to change them. The key thing is having a memorable quick way to access frequently used operations. If the shortcut isn't memorable then we've got the shortcut wrong.

I think what makes software fast and powerful is an interface that you hardly know is there. If it gets too much in the way of what you're trying to achieve then it starts to irritate. Having shortcuts definitely makes it quicker to get things done. I'm just not totally convinced that you need a shortcut for everything or that you need to be able to change the shortcuts. You don't really need a shortcut to toggle the navigator or tile your windows and you're never going to make CTRL-C to do anything but copy for example.

Malc.

PS. we're hoping to get another release out fairly soon. I think the VST stuff has definitely found it's place now. Everything seems to fit nicely.

bManic ·

This is very nice to hear! And I agree about the shortcuts. Provided that you give some sensible ones for the most common things then that should be enough. Good work!

-bManic

malc ·

Guys,

As promised we've released a new version of SynthMaker. We've also put up a version history off the About page of the web site so you can keep track of things.

The new version has the beginnings of the VST support. No GUI as yet, but it won't be long. There are also some enhancements to the user interface including some of the things we've been discussing here in recent weeks.

As always, feedback is very much welcomed.

Malc.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.