Welcome, Please login or register.
Drum Solo Artist Logo

Drum Setup Application Development - Drum Solo Artist

October 15, 2018, 07:06:59 PM*
Welcome, Guest. Please login or register.
News:
 

- Drum Related Ads
Pages: [1] 2 3 4
 Print 
Author Topic: Drum Setup Application Development  (Read 109219 times)
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« on: February 21, 2010, 12:08:35 PM »

[Admin Edit Start]
This thread is the continuation of the List of all Drum Setups? Is it needed?? Thread
[Admin Edit End]


Curiosity got the best of me after my previous post, and off I went in search of useful code snips..  I have found something in the GPL category which can serve as a platform for a first-generation setup engine, so I'll see what I can do with it.

This idea will not be a full-blown app, rather than save data it will simply provide draggable images on the screen which can be arranged to resemble a drum kit layout. From there, simply use "print screen" button on keyboard to copy the result to clipboard, and paste into ms paint or similar for final cropping and saving. Then just upload as a regular image.

If I read this script right, it should be able to use a single resizable image to proportionally display any size of tom and another for any size cymbal, and does not use any SQL so overall it should be very lightweight in terms of bandwidth/server overhead.

We'll see how it goes...
Logged
PASHA
Forum Administrator
Gold Member
*****

Karma: 17
Offline Offline

Gender: Male
Posts: 854

PASHA


View Forum Profile
« Reply #1 on: February 21, 2010, 01:32:54 PM »

Very interesting! - Keep us in touch, and thanks a lot for trying to dig it out!
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #2 on: February 21, 2010, 07:30:51 PM »

sample:
(dead link, removed)

(this link is for feasibility testing only, the intent is for the script to be moved to dsa servers when complete)
Logged
PASHA
Forum Administrator
Gold Member
*****

Karma: 17
Offline Offline

Gender: Male
Posts: 854

PASHA


View Forum Profile
« Reply #3 on: February 21, 2010, 08:02:04 PM »

WOW!!! - It looks VERY promising!!

Using javascript is exactly the way I wanted it to be done! - Fundamentally I think it is very close to be ready, although it is only my opinion...

Some thoughts:

What about :

Resizing drums by dragging the corners of the image on stage??
Rotating images on stage?

Saving user drum setup?
Recalling user Drum setup?
Multiple drum setups per user?

What do you think??
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #4 on: February 21, 2010, 08:19:19 PM »

all of the above.. lol   as it is, the script driving it can be made to give resize tabs on the images (as well as allow fluid resizing with shift+drag - i just plugged that feature into the bass drum images).

rotation ability is also possible (and needed for things like kicks and anything else un-round), although I will have to code that feature in.

For saving, the script does in fact keep track of the xyz of each image which can be returned in a form making it possible to save and re-display from the saved data. And of course if you can save one layout it's a minor trick to save multiple ones.

This sample was probably the easiest part (as evidenced by how long it took, which was an afternoon).. the rest will be far more time consuming, the final product will probably be a combination of d/xhtml, AJAX, and PERL.
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #5 on: February 21, 2010, 08:24:10 PM »

but then I might just start over using vector drawing rather than dragging pre-made images.. so far this is just at the 'explore the possibilities' stage, it kinda works but it needs a LOT of tweaking.
Logged
PASHA
Forum Administrator
Gold Member
*****

Karma: 17
Offline Offline

Gender: Male
Posts: 854

PASHA


View Forum Profile
« Reply #6 on: February 21, 2010, 08:31:37 PM »

Resizing works great! (in my opinion)... And I forgot... I dont know pearl, but can do a few basic things in PHP and of course can help with images, css html... So if you need any help, just mention it and you got it Wink
Logged
KenSanders
Global Moderator
Senior Member
*****

Karma: 16
Offline Offline

Gender: Male
Posts: 1021

KenSanders

IBJAMN in Nashville


View Forum Profile
« Reply #7 on: February 21, 2010, 08:59:06 PM »

I'm anxious to see the results of your work (both of you).  Sounds pretty cool.
Logged

Ken Sanders
IBJAMN in Nashvile, TN
Tomm
Full Member
***

Karma: 3
Offline Offline

Gender: Male
Posts: 304

#2of 4 generations


View Forum Profile
« Reply #8 on: February 22, 2010, 09:40:34 AM »

This sounds great.  Thanks for all the work, fer sure.
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #9 on: February 22, 2010, 11:10:48 PM »

(we almost need a dev thread for this..)

Updated and cleaned up a bit (a lot? lol  the last one was functional but really ugly/cumbersome).

Lots of missing images and things that just don't work (yet) but it shows good direction. From here it can be tweaked for better control of the z-index, and with some additional scripting it will generate the numbered item list (and number the corresponding objects on the stage) on the fly using description.

Rotating objects:  This will not be easy. I think the only real option here is to make multiple images for each rotatable part (like kick drums).. if we allow 2 degree increments, we will need about 45 images per object. This new sample lists a bunch of different sizes for kicks, there are no images yet for any of them because I have not decided the best way to go.. resize ability is the easiest, but produces poor resolution when the image is sized too far from it's native size.

but hey it's only day two, I'm not gonna sweat the small stuff yet.. Wink
Logged
PASHA
Forum Administrator
Gold Member
*****

Karma: 17
Offline Offline

Gender: Male
Posts: 854

PASHA


View Forum Profile
« Reply #10 on: February 23, 2010, 01:01:32 AM »

It does look seriously cleaned up! - And the form idea where you choose the drum size is great too!

And I thought rotating would not be such a pain... I mean if it will require 40+ images per object maybe it is not a bad idea to have (less resolution?) - 5 degree increments?? This will significantly cut the amount of needed images?

PS: I am not concerned about the quantity, but rather throwing thoughts in the air in order to make the job easier... I mean, in my opinion, a 2 degree increments is a pretty high resolution for any real-life drum setup. - Is there a drummer that would REALLY require such a high precision of his setup?

In any case - This already looks like it is about to become the best Drum Setup Application I have ever used!
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #11 on: February 23, 2010, 01:37:04 AM »

It's a lot faster now too..  the first version loaded every image (all sizes of each object) and then made copies of each (to allow for say a hat and crash of the same size, or a 14" snare and a 14" tom). It made for higher than needed bandwidth, plus the client side cpu/memory demand was way higher than it had to be.

In this version, the only images loaded to start with (other than the throne) are the button icons. Everything else is loaded on the fly, selecting a size tells it which image to call up and plug into the drag/drop api. An unexpected benefit of this is that it is possible to change the scale factor. Default is 5:1 (pixels/inch) which is fine for a monster kit, but a nice tidy jazz kit would look lost on the stage. Providing a way to change the scale to 6:1 or 7, 8, 9, even 10:1 will make smaller kits take up more of the stage area.

Further work on this app will involve the list and data structures, ideally it should be able to produce a savable string of data that can be used to reproduce the layout on demand.
Data required for each item:
x,y coords, z-index, width, height, image set, number, and description text. I'll probably use flat-file at first, porting it to sql (and providing authentication) will be the final stage after a more or less working app is relocated to the dsa domain to get at the user cookie.

Image libraries can be added later as they are cosmetic (a beefed up version can allow the selection of skins ie coated snares, ebony or clear or hydraulic on toms, etc.. )


The prob with rotation is that browsers do not provide a native way of doing it. All experiments in this area involve creating thousands of DIVs per image, clipped in a way where only the required pixel shows in each DIV - these can then be plotted and redrawn, in effect rotating the image. horribly inefficient, even a big gaming system would lag while rotating - multiple images are by far the lesser of two evils in this respect.

The degree of rotation (2 vs 5) will really only be important when laying out the pedals.. a bad angle can make the thing look difficult to play. The kick drum(s) will be mostly buried under other drums, an odd angle there will not stand out too much in what is, after all, just a diagram.
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #12 on: February 23, 2010, 05:58:45 PM »

v0.3a

- description part now working somewhat for drums and cymbals. It puts in a basic default description if you leave the box blank, otherwise it uses the one you supply.

- images are now numbered as you add them, description list uses same numbers.

- there some layout glitches, things not centered properly.. minor.

This thing is coming together easier than I expected, but it will also be bigger than I expected. Half-baked isn't going to fly with this thing, it will be pretty much full-featured and really slick when all is said and done.

[edited to add Kick/pedal/other components still empty, I'm doing dev with cymbals and shells for now to get the back end ops working. The other buttons will use the same script calls, so turning them on will be just a matter of adding images and tweaking a few lines.]
Logged
PASHA
Forum Administrator
Gold Member
*****

Karma: 17
Offline Offline

Gender: Male
Posts: 854

PASHA


View Forum Profile
« Reply #13 on: February 23, 2010, 07:04:39 PM »

Looks Great!

Few suggestions just in case you have dont know about them already.

1 - Movable description field is Amazing! Although, by default, I would place it underneath the stage and would make it as width as the stage.

That would add some more space for longer descriptions while it would still print the medium descriptions "one per line".

2 - When you dont use the description field in the Add to Stage form, adding an 11" drum prints:

[Number] - 11" Drum

But when you do use the description field in the Add to Stage form, adding an 11" drum prints:

[Number] - [Description]

I think it would be more logical for the application to print Size followed by Description:

[Number] - 11" [Description]

3 - Description Field should adjust its hight if there is no more space to house all added components.
Currently the text just goes over the bottom edge.

4 - Drums, just like Bass Drums should have both Width and Depth sizes.

That is all, although I did not find an ability to remove a drum from stage...

Cheers



* ss.jpg (43.72 KB, 215x574 - viewed 1186 times.)
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #14 on: February 23, 2010, 07:38:18 PM »

1 - Movable and resizable (shift/drag) is what I am aiming for there... Maybe an option to have more than one column too..  Another design change will be to move the button bar onto the border around the stage, the form can hang over the stage when adding (and give the form a "hide" button). Then move the stage to the left, leaving way more room for the description list on the right.

2 - using both should be an option for sure, I actually didn't think of that (I just wanted it to put something in so I didn't have to every time I tested it.. lol).  Good call.

3 - per 1

4 - that's on the go right now, I should have something interesting to upload later tonight.
... and the delete function is next... lol   that is a must have for sure.
Logged
KenSanders
Global Moderator
Senior Member
*****

Karma: 16
Offline Offline

Gender: Male
Posts: 1021

KenSanders

IBJAMN in Nashville


View Forum Profile
« Reply #15 on: February 23, 2010, 08:31:28 PM »

I'm following with great interest and excitement.  This sounds like a very cool app.
Logged

Ken Sanders
IBJAMN in Nashvile, TN
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #16 on: February 23, 2010, 11:43:33 PM »

Check it out, Ken..

v0.3.1.a is up:

- drums allow depth value
- drums and cymbals have "type" selection
- description box is resizable, shift+drag
- menu moved
- cancel button added to close hardware options
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #17 on: February 24, 2010, 12:05:46 AM »

quick note - describe box needs a lock button to pin it down so that you don't need a wheel mouse to scroll it when it overflows..
Logged
PASHA
Forum Administrator
Gold Member
*****

Karma: 17
Offline Offline

Gender: Male
Posts: 854

PASHA


View Forum Profile
« Reply #18 on: February 24, 2010, 02:20:14 AM »

Ken what do you think the drum/cymbal sizes do we need to have currently the form allows 4-22"

In my opinion 4 is unnecessary, as the smallest drum I could think about is 6"...

Same with 22 - in my opinion it is not enough as some orchestral drums go well beyond 36"

Same with cymbals...
There are some really small cymbals out there - is 4" the smallest that you have seen?

And cymbals go way beyond 22" - think Gongs!!

http://www.drumsoloartist.com/Site/Cymbal_Setup.html

Some of them go beyond 60"!

Also do you think we really need the "Drum Types" drop down?? - I mean description could be used for specifying the type.

The reason I dont think that Drum Type OR Cymbal Type is needed cause there are so many drum/cymbal types that if we would include Most of them the scroll-down would be huge!

For example if we include roto tom, bongo and timbale why dont we include:

Cajon
Conga
Darbuka
Djembe
Doumbek
Electronic
Octoban
Xylophone

to name a few...
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #19 on: February 24, 2010, 09:36:24 AM »

really good points, Pasha. Currently, the max and min size is determined by available images. As the script evolves it will be able to auto-resize images (always keeping them to scale), which in turn will broaden the size range (to a limited point - we don't want to stretch an image too much, it gets blurry).

Gongs and such will be handled different from other cymbals since they hang vertical rather than balance flat - a disk image wouldn't really be the right thing to use in the context of a typical drum kit. Same with square-ish items like the xylophone and glockenspiel.. But in the case of gongs round images might be just the thing, as per your linked example.

The "type" selection will be made optional like the description, and of course there will be a way to edit the info in the list after the item has been placed. The type and description are considered part of the same string, with type being there more for convenience than anything else.

This part is really just the editor for setups, when the data format is nailed down we will also want a "reader" that can redisplay saved layouts.

[edited to clarify a point.]
Logged
KenSanders
Global Moderator
Senior Member
*****

Karma: 16
Offline Offline

Gender: Male
Posts: 1021

KenSanders

IBJAMN in Nashville


View Forum Profile
« Reply #20 on: February 24, 2010, 11:54:48 AM »


THIS IS MY REPLY

Ken what do you think the drum/cymbal sizes do we need to have currently the form allows 4-22"

In my opinion 4 is unnecessary, as the smallest drum I could think about is 6"...AGREE

Same with 22 - in my opinion it is not enough as some orchestral drums go well beyond 36" (Some of this could be ihandeled n the text description)
Seems that Tympani and Gong Drums would be the most common "top view" problems..  You could select four or five circles to represent the various sizes that could be detailed in the text.

Same with cymbals...
There are some really small cymbals out there - is 4" the smallest that you have seen?

And cymbals go way beyond 22" - think Gongs!! (Seems like gongs could be "top view" items with the diameter detailed in the text descrition)

Seems like drum brand, or models could also be handled in the text description.



Logged

Ken Sanders
IBJAMN in Nashvile, TN
KenSanders
Global Moderator
Senior Member
*****

Karma: 16
Offline Offline

Gender: Male
Posts: 1021

KenSanders

IBJAMN in Nashville


View Forum Profile
« Reply #21 on: February 24, 2010, 11:56:38 AM »

I agree with the points in Reno's last post.
Logged

Ken Sanders
IBJAMN in Nashvile, TN
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #22 on: February 25, 2010, 10:14:25 PM »

there are a few non-existent sizes in the list.. lol I don't think there are 7's or 9's either, or 17's..
we will want some better images at some point, maybe even custom sets (like a set of cymbals with "Zildjian" on them or black skins and chrome rings) in addition to the default set. could be pretty cool.

But you are both right, drums come in certain sizes and 4" isn't one of them.. lol this is why this thread is good, feedback is evil on the stage but in this kind of project it's how details like this don't get overlooked or simply forgotten about while I'm focusing on the scripting..

Logged
Tomm
Full Member
***

Karma: 3
Offline Offline

Gender: Male
Posts: 304

#2of 4 generations


View Forum Profile
« Reply #23 on: February 27, 2010, 09:35:40 PM »

Hi tech mentors.  That's what ya are.  Just let me know when I'm supposed to understand what you guys are talking about...Tomm
Logged
Reno
Drum Solo Artist Trusted
Junior Member
*

Karma: 2
Offline Offline

Gender: Male
Posts: 77

Reno


View Forum Profile
« Reply #24 on: February 28, 2010, 10:13:51 AM »

latest update is almost entirely internal - it now stores and retrieves data on each added item in a way that can be written to a file or database. Having selectively accessible data is also the first step in being able to edit descriptions and such.

Not a very exciting update to look at, but it is progress.. lol  the two data areas are there for testing/debugging, they will be hidden in the final release.
Logged
Pages: [1] 2 3 4
 Print 
 
Jump to:  

Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC
Drum Forum - Drum Solo Artist
Made by Drummers for Drummers [ Site Directory ] [ XML URL List ] --© 2007-- www.drumsoloartist.com