The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
An 80-year old acquaintance of mine has recently developed a taste for writing songs.
That's awesome, kudos to him! I fairly recently started playing an instrument with the hopes of one day maybe composing a song. I haven't got anywhere near that point yet.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
Unfortunately you are running into a factor endemic to the technology. Given that consumer inkjet relies on the characteristics of a water-based fluid, those characteristics (concentration, conductivity, etc) tend to change over time. This leads to jet clogging, poor adherence to paper, and so on. Consumer printers have minimal ability to manage this, given that they're sold below cost typically. The manufacturer makes their money on cartridges, which usually contain the elements most sensitive to time-based changes in the ink.
Your application is a little difficult as well. Printing optical disc labels implies adhesive-backed paper, which you can't use in a laser due to the heat.
My suggestion is to find a local print shop (is Kinko's still around?) that would print labels for you as you need them.
The alternative is to keep an inkjet printer around and print a test page to exercise the thing every so often.
Of course you can use sticky labels (which come on backing sheets) in a laser printer, provided that you use label stock that is designed for this use, as most commercial labels now are. The problems which concern me with stick-on CD labels are the difficulty of getting them perfectly centered when applying them and the added thickness which they introduce, which is a problem for some slim-line CD drives.
I always used the laser Labels, and that Stomper/Stamper thingy.
buy good labels.
TOTALLY Agree about the Inkjets. I had ONE, never again. Same exact problem.
I did learn that taking the toner cartridges out, and ZIP LOCKING them air tight really helped.
Also try taking them out and RE-APPLYING the tape/plastic over the nozzle port.
Finally, try cleaning a "dried out one" with alcohol at the port, until you get some color. I've done that, but the ink was a bit funny for a few prints...
With ALL of the "games" they play with Tech and these cartridges. You would think an AIR TIGHT SEAL when the printer is off would be ONE of them? Park the print head in a way that keeps the air away...
But then how do you make money on a $50 printer... Selling Ink... Continuously!
I would Pay Kinkos to use their printer at their OUTRAGEOUS fees... It's got to be cheaper!
The cheapest laser colour printer on Amazon is about £140 (Xerox). I might be able to find one cheaper elsewhere but it would probably be a brand I'd never heard of and of unknown reliability.
I have a 10-year old Epson inkjet printer+scanner which cost about £60 when I bought it; it uses individual colour ink cartridges. I've probably had trouble with ink cartridges less than half a dozen times since I've had it.
I actually scan more than I print - 2 to 3 scans a month compared with only 1 or 2 prints. So this would mean keeping the inkjet alongside the laser or buying a combined colour laser printer with scanner - the cheapest I could see was about £275 (HP) on Amazon.
Since I no longer print as much as I used to (does anyone?), sending a single page print to the printer every week keeps the heads OK and I haven't had problems for couple of years. The test print paper gets used for sketching, doodling, rough notes, etc., so isn't just thrown away. I buy 'compatible' cartridges which last for years - I last replaced one about a year ago.
Prior to the Covid-19 lockdown and working from home, if I needed laser quality prints, I could send them to a work printer; I work in the IT department. For reading, letters, etc, inkjet quality is usually acceptable.
So, given I'd need to spend around £275 for about 15 to 20 prints per year, I can't justify replacing the inkjet printer unless it breaks down. And with such low usage that seems unlikely!
Anyway, I'd rather spend the money on add-ons to my 3D printer where I 'print' something almost every day!
I share some of your pain, and I have a Canon color inkjet for the same primary reason (printing on CDs) that you do. Like you, I use it very rarely. However, although the first print after a long (weeks) gap always takes a while (minutes) to start, and quite a lot of ink sometimes seems to disappear between uses, I have never had serious problems with it. One reason may be that I always shut it down 'properly', using the front panel soft power switch, after every use. Canon does warn you to do this, and it does seem to matter. I have always assumed that the printer 'caps' the heads in some way when you formally shut it down, so that they are at least somewhat protected from blocking up and/or drying out.
Interesting - I was not aware of this. That being said, I always use its power button to power it off (which is clearly not just a switch that simply cuts power), and I've always made the assumption it "does the right thing" to do a clean shutdown--there clearly is some activity taking place, and it takes a few seconds for it to power off.
Oddly, I have a Canon Pixima ip6700D printer that seems to just work. I have not used it for up to 3-4 months and then when I do I print one test sheet and then it is ready to go with no issues. I find it amazing that this keeps being the case. I never have used any cartridges that are not original Canon OEM ones in it. I keep expecting to have to pitch it but it likes its home i guess.
It is also capable to print on CD's. Although the option was unavailable for US models and you could not order the parts from Canon for US. So I asked a work associate in Canada to get me the pieces. they where less than $15. Changed the firmware to Europe version and away she went.
Of course now that I said all this the ink in my 6700D just flashed dried out and nozzles melted.
Here's what worked for me. I bought an inexpensive 'pigment base' inkjet printer that could do CDs and could also use refillable ink cartridges. I then used 'dye based' inks in the cartridges instead of the normal pigment inks. The pigment ink particles are larger than the dye ink particles so the pigment ink printer heads have larger holes than the dye ink printers. Basically, I wore out the printer mechanism before I got a clog (very infrequent) that wouldn't clear with a simple cleaning.
There are issues with the dye based inks. The 'print' will be more likely to fade and be less 'wear' resistant than a pigment ink print. Normally when you make a print with a dye based printer you should use a swellable polymer paper to make the print more wear/fade resistant.
I've had a couple of Epson inkjets over the years and always been impressed (surprised even) on how well they handle my lack of use. Very occasionally I need to run the "head clean" routine but not more than once. Not sure if always using genuine Epson cartridges contribute it that.
Currently I have an Epson XP-6000 (scanner + A4/CD printing) and am happy with it. Only thing I'm nervous about is the ink cartridges only suit this one model so Epson might stop making them sooner than other multi-model cartridges and render my printer useless.
So I was fixing my Midi lib's streaming Send() routine to work with large sysex messages and generally be more efficient.
I get called back on send completion - from a different thread. However, list here is never touched again. I just hang on to the enumerator. The enumerator doesn't get touched outside the callback once its filled, and the callback never happens until its filled, so it's "safe" threadwise.
I need to keep the enumerator around so I have a member var called _sendQueue and to be safe I always do Interlocked operations when writing it.
except that the scope is the same, or it should be for the duration of that call? The routine returns immediately after that, without doing anything else except calling a method that takes no parameters and returns no value.
furthermore it's not like the enumerator stored in e/_sendQueue is failing at all in terms of accessing it - it's that the Current member is returning null so the failure is relatively far downstream from this.
".Current" will be null if you haven't done a .MoveNext or something else to traverse it. If you do use MoveNext then check its return value is true, as if you're doing something under the covers to alter the list (such as remove an item from it) but not using the proper methods then the enum and list will get out of sync and you'll get null from Current, but in that instance MoveNext will have returned false.