33

(109 replies, posted in Releases)

Haha I heard about that; thanks for pointing it out. Apparently you can reinstall it by typing any command that requires Java, like 'java -version', which suggests it was just removed out of spite rather than any real effort to deprecate it. Oh well - if I can cling on to a roomful of Amigas despite their obsolescence, I can sure as shit keep my talons dug into Java for a few more years wink

34

(109 replies, posted in Releases)

Java 1.5 or 1.6? (Also known as Java 5/Java 6) The only thing I can think of is that maybe the laptop's CPU just isn't coping...like I say, Java's a hog and always seems to use more resources than the code should require. If I knew C++, I'd have done it in C++, but I don't wink

If you are on Java 5, upgrading to a Java 6 JRE (runtime) might help. Most applets should run a bit faster in Java 6, generally speaking.

Lazerbeat - I'm working on this slice trigger thing. Running into a few maffs difficulties wink Or not - I just typed a massive explanation of how it wouldn't work, but then I remembered a really simple maths function that makes it all work perfectly. Hooray!

35

(109 replies, posted in Releases)

Yes, please be as specific as you can. The browser-based version of ChipdiscoDJ should take around 20 seconds, maybe a bit longer, to load up as it's grabbing a whole load of modules from the webserver. That will dramatically reduce when I upload the new version (once it's finished). Personally, I find that it runs slowly on my 1.6Ghz Eee 901, but it runs fine on my Core2Duo VAIO (about 4 years old) and on my 18-month old white MacBook.

Is there audio breakup or stuttering where there shouldn't be? Is the GUI slow to respond to clicks/drags? Does the framerate drop and do the spectrum/volume bars move more slowly? I can tackle some of those issues, but not all of them...Java's a CPU hog in general and I've never been able to get it perfect on the Eee (Atom). I'll do my best though. Thanks in advance!

36

(109 replies, posted in Releases)

Ah, CDDJ has been fairly shift/ctrl heavy up until now, but that creates problems with Macbooks (everything causes problems with goddamn Macbooks). I even had a 'shift' button on the nanoKontrol so I could get more functionality on a single scene, but I'm trying to avoid that. If you think you'd be happy using LShift + <key> for the kind if triggering you're after, cool - I'll proceed.

LShift should be okay... Ctrl can be weird on Macbooks, Windows keys and AltGr can be weird on some Linux distros (especially XFCE and occasionally even Gnome) and Java - for all it's supposed to be wonderfully cross-platform - can be a pain in the arse about interpreting things properly. I'll experiment and see what works - got a few Ubuntu VMs knocking about. But ultimately you'll be my main Linux tester, I'm afraid wink

37

(109 replies, posted in Releases)

Oh, and if you're a glutton for tedium, here's my working doc that I try to maintain as I go, or use for rough notes. No real need for it to be private, and maybe you'll spot something that sounds daft or could be improved upon.

https://docs.google.com/document/pub?id … 6VDlQ6YRM0

38

(109 replies, posted in Releases)

No probs. By the way, have you tried ChipdiscoDJ on a netbook? I have to admit that it's just short of being usable on my Eee 901 with 1.6Ghz Atom...but maybe netbooks have moved along since. The only time I've used ChipdiscoDJ live, I used my old-ish Core2Duo VAIO just to be on the safe side. Good luck with that, anyway wink

Per-deck Loop keys - they're mapped to 'k' and 'l', though I might not have documented that wink

Now that I think about it, the Modplug-style scrolling horizontal button list would be seriously troublesome to do, just because of limitations of ChipdiscoDJ's structure (and my time, apart from anything - it would probably double the project's already weighty 5000 lines!). I'll keep brainstorming it though.

Yes, your description makes a lot of sense to me, and yes - I did anticipate that conscientious users would want to tweak or tailor-make their live performance modules for use in ChipdiscoDJ. My dilemma is that I don't want to fork CDDJ down two paths, even if the difference is just one of keyboard layout, and your requirements pretty much hog the whole keyboard big_smile So maybe a toggle button switches between the current (albeit tidied in v0.3) layout and the trigger-buttons-aplenty layout that you've suggested... Of course, I've got about 100 MIDI CCs to play with, so that's no problem, but the nanoKontrol doesn't have enough for what you want. So maybe you use the nanoKontrol for the stuff that's duplicated on the keyboard, press that hypothetical toggle button to switch the keyboard to slice trigger mode (or whatever we'll call it), and away you go.

Anyway, here's a glance at what's what so far:
http://www.youtube.com/watch?v=nBL7R4HP … d_policy=1

39

(109 replies, posted in Releases)

Okay, still making progress. However...I'm still having difficulty wrapping my head around this. Remembering that those 32 'blocks' are really just a consequence of the width I decided each 'spectrum' bar should be (it's not a true spectrum visualisation, but let's pretend for now), suppose I load a module that's 45 patterns long. 45/32 = ~1.4, so each bar is about a pattern and a half long. The problem is, for me to seek to a point in the module's pattern sequence, I need to give it a round number...so if you want to seek visually to 'block 8' by pressing a mapped key, the elapsed proportion of the module that you want is actually pattern 11.25, or a quarter of the way down pattern 11. So if I'm rounding that, I round down to 11...whereupon you're not where you wanted to be in the song. That inaccuracy might be tolerable, but different module lengths will give wildly varying results.

The inaccuracy you suffer now when you click on the progress bar is, I think, just a visual one: auditorily, you're hearing the pattern you chose, but the visuals do the maths from scratch - how many patterns are there, how many have elapsed, how many pixels wide is the spectrum, how many divisions (bars) do we have - and then fill the bars with colour to the nearest one. Make any sense? It works, but doesn't look like it works wink

So can you give me more info on how you'd use the feature? That might help me to understand better. Does existing DJ software do this; are there any references I can look to? I haven't used Traktor for some years, but I don't remember whether it had 'jump-to' points...or bookmarks, I suppose we could call them? Am I completely missing the point (very possible!)?

Or maybe I'm just being pedantic and what you want is a rounded-off percentage-based system where '16' gets you as close to the middle of the song as possible?

I'm also thinking about other ways to give you pattern-accurate seeking. Modplug, which I haven't used for years, has a big horizontal line of numbered boxes corresponding to patterns which you can drag/drop to reorder the sequence, or just click to jump to that point. Would something like that help, so you could instantly jump without having to zip through intervening patterns, and with greater accuracy?

Change of subject, in your last post you mentioned loop left/right deck: what do you mean? The block-loop function that's controlled by the 'L' button on the GUI? If you meant looping the entire song, that's sort of a moot point now - I've removed next/prev song controls for each deck, because a) this is a performance tool rather than a player, and there are other programs out there that'll run through playlists of modules and b) I want to reduce the margin for DJ error by making it less easy to inadvertently stop a tune or load a new one while it's playing out to the dancefloor.

If you did mean the blook-loop, I need to have a good look at that because it seems like it's fucked. It's never worked exactly like it's supposed to and I think I've got some logic tangles to sort out.

Please, feel free to bombard me with info - hammer away at me until you're convinced I understand smile I want to be sure I do before I devote a large number of keyboard keys to something that I might be getting fundamentally wrong...or something that there might be an easier alternative to.

40

(109 replies, posted in Releases)

Currently...er...yes, loop pertains to sub-pattern blocks, while the spacebar sync (when it works) only ever bumps both decks to row 0 of their current pattern. By the way, the 'hold' function that exists in the version you're using ('H' for Deck A) should help to nudge the deck back if spacebar-sync didn't quite do the job. Literally speaking, what it does is instruct the player that Deck A's next row should be the same as Deck A's current row (this his how tracker replayers think tongue ) and so it's just slowed a little - much like if you hammer the Up arrow during playback in Protracker, Fasttracker, Renoise etc.

(Also, I updated my last post while you were posting yours)

41

(109 replies, posted in Releases)

Ta, fixed those links.

Right, I'm just getting my head around your request. Yes - the reason you're having difficulty when clicking the progress bar is that, in order to get a higher resolution, you're choosing the nearest pattern to 'number-of-patterns' divided by 'progress-bar-width-in-pixels'. The visual representation merely follows the current song position on the basis of 'number-of-patterns' divided by '32' smile This means that the progress bar always looks nice whether a song contains 4 or 40 patterns, and mouseclicking still does a reasonable job of getting you where you want to be in the song in terms of percentage.

But I see your problem! I'm just not certain I can solve it in a way that accommodates tiny as well as huge modules. But maybe that's not a problem and I'm just being thick about it...hmm. Anyway, your actual request is about key-mapped block triggering.

So that sort of thing is probably quite easy, but I'm going to sit down now and think about how best to manage keyboard controls in Chipdisco; once I've got a good system, everything's straightforward. I'd like to have defaults in place, similar to what exists now, but maybe I could have a file selector to read a textfile... To the drawing board!

[Update]

Following good advice from you and Starpause, I've nuked the second playlist - now there's a single playlist in the middle and you can either drag'n'drop entries onto either deck where they play automatically or use the arrowkeys - up/down to highlight the one you want, left/right to load it into a deck and play. Now that I'm reacquainted with my code it should be easier to implement other things smile

42

(109 replies, posted in Releases)

Thanks! But...it made me realise...that the downloadable exe version seems to be slightly out of date! Oh dear! The current Applet one has a dropdown menu between the pitch/vol bars which lets you choose between different crossfader types. Oh dear...I'd better sort this out. Take a look at the Applet version anyway, just in case there are any other differences that I've forgotten about wink

43

(109 replies, posted in Releases)

Sorry, only just noticed your comments - bloody shitting Wordpress has decided to relinquish its duty to email me whenever somebody's posted. NOW I'll read 'em...

Edit:

So, I think what your comments tell me is that I need to go back and implement something I toyed with early on and then gave up on - proper configurable controls smile I'd need a practical but universal way to save them, so I'll have a think about that problem...

But yes, I'd originally been using arrowkeys for patternscan and tempo, with SHIFT as a modifier to control the second deck. Abandoning that sort of keycontrol for users with MIDI controllers who'd prefer to dedicate the keyboard to interface stuff makes sense, though I think I'll keep the default roughly in place so that the base-level, unmodified ChipdiscoDJ can always be controlled via a laptop keyboard by someone who's only got a laptop and a few MODs.

Extra channel mutes - yes! I think they exist, and may or may not have phantom MIDI CC values applied to them, but I was probably thinking to myself "well I'm not going to have 32...so I may as well just have 4". But you're right, 8 makes sense and doesn't hog too many keys/buttons.

Move the info display to somewhere more visible; gotcha.

Option to load MODs with the first pattern looping - possible, but I think it'd frequently be troublesome. I'd have to do a load of fiddly logic checks on incoming MODs, whereas I wonder if the block loop feature would help you here? After all, a loaded MOD is unlikely to be playing out to the room straight away, so you could bash the block loop, adjust the pattern if necessary, then depending on the song you'll probably have a 1 or 2 bar loop of its main beat.

Non-transparent dropdowns - I think it's possible; I'll have to check. I'm using somebody else's (notoriously fiddly) GUI library for that, so I'll play around.

Auto BPM - I swear I've had that...or something similar...if it still exists in the code, it might have got orphaned from the controls, or it might just not have been written up in the docs.

Auto restart - yup, that's very easy, and would be handy.

The retrigger - I think that's just a row scrub which I'm using to leap back to the previous row, every row, if you see what I mean. Although no...I did used to have a MIDI button assigned, as you saw in the vid, and it's just a really simple thing that - again - might just be orphaned from the controls. Perhaps I thought nobody would want it tongue

Autodivide, slices - not sure what you mean here. Are you talking about the aforementioned block loop? Yet again, I think there's a control to choose the division factor, though I'm not sure if it ever worked too well...another thing to look at.


Thanks for the feedback! And don't be sorry - the more I can polished I can get this, the better!

44

(109 replies, posted in Releases)

Lazerbeat wrote:

I actually have things rather nicely set up by midi, the only thing which was slightly unusual was the pattern scan not working quite how I expected but that is no major problem. I posted a whole bunch of (probably impractical and annoying) suggestions on the release thread on Crayolon if you have time to look things over.

Great, I'll have a look. Pattern scan - yes, this has a choice of two behaviours: one immediately jumps to row 0 of the next pattern, while the other immediately jumps to the next row of the next patter, if you see what I mean. So if you're on row 12 of pattern 2 and you jump to pattern 3, it'll pick up on row 13 of pattern 3, thus keeping perfectly in time with the beat. I need to implement a third behaviour type, whereby jumping to a new pattern waits until the current pattern has finished playing...or did I already implement that? I can't remember sad

45

(109 replies, posted in Releases)

Wicked! Throw me a twitter DM or an email if you have any problems while getting things set up. I *think* I've published all the MIDI CC values, but if I've forgotten anything...well, let me know and I'll sort it smile

Anyone other than me - only one chap, as far as I know. He's active on the Renoise forums and I helped him to get a live setup organised, but I haven't heard from him since his gig somewhere in Canada. Maybe he's in prison or dead. ChipdiscoDJ == hardcore.

46

(109 replies, posted in Releases)

Should work fine as long as it sends MIDI, and as long as it has some custom app which lets you edit the CC number of each control. If it doesn't let you edit each control, then you'll be stuck with weird mappings or a load of controls which just don't work; if that's the case and you're really keen, I could be persuaded to compile a version with custom mappings just for that controller.

Chipdisco scans for all installed MIDI devices, whether USB or oldschool soundcard gameport MIDI (at least it should; I haven't checked against a Soundblaster or whatever).

Make your own flashing ZX Spectrum insult

48

(29 replies, posted in Commodore Computers)

Yes, I was using the EasyCap (USB1.0 back then, I think), but it was VLC's fault that the framerate seemed low. With better software it works great - I can't remember the name of what I use for live Amiga performances...I think it begins with a 'D'...or perhaps a different letter entirely. Maybe 'A', 'B' or 'C'; perhaps even in the whole 'E' to 'Y' range. I'm fairly sure it iddn't begin with with a 'Z', though. #helpful