I know a lot of cats out there are doubling their samples, I did when I was working on FT2 since there were no realtime dynamics in the program but it's different on FL4, way different. Like Jay-Z puts it; it's so unneccesary. It causes to fill up your mix ( read; eat headroom ) and phasing/clipping of sample when played. You can layer a sample with another sample, eq/filter both and level to match the required reference in mind, or example. You can imagine doing this on a soft/subtle acoustic jazz kick layered with a sine ( sampled or not ) in tune with the kick's acoustic sustain. Snares are acousticly recorded with 2 mics, being placed on top and bottom of the snare. The top mic will record part of mid and high frequencies ( cq hi-mid and treble ), the bottom snare would record lo-mid and low frequencies. This is done within the dynamic range of the snare in the mix, which still means subtle eq'ing. You should compress the top snare and you CAN but dont have to compress the bottom snare. Another thing you can do to spice up a snare is to add some resonance from the INS tab in the Channel Setting, like 1/5th to a 1/4 open should be sufficient. Hats are a cake its really up to the ear, dont sweep or boost the high freq's but go counterclockwise on eq's and turn the signal up a bit.
Some other issues;
1. Put on Normalize at the SMP tab in the Channel Setting, it will set a nominal output for the sample.
2. Drums are mono, unless they're phrase samples/loops, for instance, recorded from record/phono or stereo line-in. Actually, every "real" instrument such as a guitar, piano, horn or string are mono. Digital synths are stereo, "raw" basslines from digital synths should be mono but " raw " mono basslines with onboard synth fx should be stereo ( fx like reverb and delay when possible should be returned in stereo but are fed mono, some fx will indicate by their name that it's stereo anyway). So always check if the sample loaded into the channel is mono by hitting CTRL+E to bring up the wav editor. If there's two channels displaying a drum you should convert it to mono, again, if neccesary.
3. When you're in the wav editor, also check on the sample if it's cut from the very beginning of the sample. Any millisecond before the sample start should be selected and deleted for the sake of timing ( although at times it just gives the right swing to it hehe ).
4. Wether you're using step editor or pianroll, you should always use the Volume-envelope for samples in order to set their maximum length to create space between all the drumhits, again, this will free headroom for your mix. Go to the INS tab in the channel setting, hit the tab that control the amplitude parameters. Now close the whole envelope displayed meaning counterclockwise all the way back on attack, decay, sustain and release but not "hold". Set the hold for the maximum length you want to hear in order to cut off the unneccesary parts and do this on all samples/instruments. Also set samples to cut-itself by rightclicking the channel tab and selecting this function, but rides for example have no need to get cut off on the next note, in fact they sound very true when layering. Basskicks however are a pain when layered so set 'em to cut-itself, if clicking or anything happens you should add the tiniest bit of attack on the Vol-Envelope and the same on the release. This, in a way, works like a gate, but much more direct.
5.Now if you get this correctly then the final bit is a matter of balancing out your drums in the mix. If you're using FL in VSTi mode you should group all the routed drumparts to a bus in order to control the whole drumsection under 1 fader. This gives you much convenience when balancing your mixdown.
6.Now in hiphop there's mostly just 2 kinds of mixdowns;
1. where the kick is placed in front of the bass.
2. where the kick is placed behind the bass.
These 2 are the first things you should consider when setting up for a mixdown. Everything else in the mix ( level/eq/fx & dynamic settings of all to be recorded instruments/vocals ) relate and affect to these 2 and are definitly not louder ( when talking basic dance/hiphop music, it really differs from genre to genre ).
7.It's up to you eventualy that determines what to accentuate in the mix and if you work into detail to give your production the most headroom possible, you can point out those detail in your production because there is room for it in the mix. Next thing you do is set a good multiband-compressor over the bus/group, something like a Vintage warmer would be very good for this. Play with it and keep in mind that the signal that comes in the comp has a small difference from what goes out. Less/subtle dynamics/eq increases dynamic range and vice versa naturaly. Also, each signal being fed to the comp will affect the output result, for example; Route kick, snare and rides to the same comp input, and leave the closed/open hats ( or a typical 8/16beat hatsection ) uncompressed. What happens now is that, depending on how you set it ( this one example ), the kick and snare will be set to front but both seem to trigger an envelope on the rides creating a sort of drive/swing ( also depending on how you programmed the drums ) with the hats au naturel on 8th notes.
8. Little tip on the echo.
8a.Look under the HELP bar in the top left corner when tuning the time knob. It displays 0 when turned all the way left, but setting it to 2.0 sync's it to a 1/8th timing, 4.0 to a 1/4th. You do the math on the rest.
8b.The amount of effect you set for either cut off, resonance and pitch is divided by the amount of echo's set in the echo box.
8c.If you set Feed to exactly half, all the echo's are equally loud.
8d.Always, well not always, but keep in mind that the amount echo's should be an uneven amount. To give a simple example; take a closed hat and place it on every first 1/4 note within 1 bar-> set the time to 2.0 and set feed to 25% or so ( use ear ). This gives a " ghostnote " on every played hat, which saves the time to write it down in a score ( copy the closed hat and then set the Feed to 0 to keep a " clean " closed hat for divers programming ). You can achieve the same by using the cut off, it's whatever suits you best but both do the trick.
8e.So, Time=1.0/Echo=11 equals 1 bar, Time=2.0/Echo=7 equales 1 bar, Time=3.0/Echo=5 equals 1 bar, Time=4.0/Echo=3 equals 1 bar.
and that's about enough for the day.