Check if midi input or destination is open - audiokit

It's easy to open midi inputs inputs with AudioKit:
AudioKit.midi.openInput(name)
And close:
AudioKit.midi.closeInput(name)
Can't find any way to check if a input or destination is open

Related

Unable to use io.read() to grab the user's input after already using it to grab a file's contents

I've got this program that starts off with the program grabbing a file's contents.
local oldprint = print
local print = io.write
-- this was done mainly because the newline from print() wasn't needed
io.input("script.txt")
local script = io.read("*all")
io.close()
Then there is a function containing another io.read(), which should allow for the user's input.
local functions = {
[","] = function()
local input
repeat
print("\nAwaiting input... (must be a number)\n")
input = io.read("*n")
until input ~= nil
array[pointer] = input
print(stringy)
end
}
functions[","]()
I expect it for it to print once, and then grab the input, but it ends up constantly printing.
I've tried using io.flush(), but it didn't work, and I'm not exactly sure what else to try...
By calling io.input("script.txt") you set that file as the default input file. Any following calls to io.read() will hence read from that file.
Either use file:read instead of io.read or reset the input to the standard input stream by calling io.input(io.stdin).
I suggest you refer to the Lua reference manual.
https://www.lua.org/manual/5.4/manual.html#6.8
To use io.read(), you have to close the file you opened, because if you have a file open, lua will assume you are reading from the file that you opened.
Try grabbing the input before you open the file

UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 356: character maps to <undefined>

enter image description here
Its is a project of mobile app development by using library kivy.
after login in to the app there was a page which express feelings, I supposed to print feelings text like cotations which expressed by some great people.
But at that place I am getting so error like "UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 356: character maps to "
The issue is probably occurring since you did not specify a file encoding on line 55 in your main.py file as shown in your screenshot image.
I would recommend adding , encoding='utf-8' as another parameter in your call to open. If that does not work, try another file encoding.
So to be completely clear, that line should be:
with open(f"quotes/{feel}.txt", encoding='utf-8') as file:

How to Extract Audio from WebM File

I just want to get a audio file(opus codec used) only in webm file.
I try to search what is webm format, how to parse, but I cant get info well.
I check that webm format is from mkv, then should I check the mkv first?
there is just one github code, but I cant find way how parse the audio from webm.
https://github.com/webmproject/libwebm/tree/master/webm_parser
You're really going to want the MKVToolNix. These include the tool mkvextract in another answer.
The MKVToolNix is actually a series of tools (mkvmerge, mkvinfo, mkvextract, mkvpropedit). First you asked how to parse the info. You can find the details using:
mkvinfo file.webm
mkvinfo file.webm -a
The first command will parse the overall structure. The second gives the detail of each frame. Use the --help switch if you want all commands.
To extract the audio, do
mkvextract file.webm tracks X:newfile.opus
Where X is the track number that you've identified as wanted from mkvinfo previously. Webm and MKV can have multiple tracks. "newfile.opus" is the new file that you want to create, choose the name you want.
There is also a mkvtoolnix gui, but I've never used that.
mkvextract can extract audio for you, and I recommend having a look at the mkvtoolsnix source code.
For example, you can extract audio from a WebM file into an Ogg Opus file like this:
$ mkvextract ~/audio/bubbles.webm tracks 0:audio.opus
Extracting track 0 with the CodecID 'A_OPUS' to the file 'audio.opus'. Container format: Ogg (Opus in Ogg)
Progress: 100%

Print with XPS and Printer in the same time

  Can you print at the same time in two modes?
1- XPS
2- Printer (َAll models)
If the above item is not possibleو Could you write a program in C# to save a copy of it as a file in the form of an X before printing?
Please guide me in this regard
thanks in advance
The Win2PDF printer can do this. When you print to the Win2PDF printer, change the "Save As Type" to XPS, and check the "Print File" option:
If you want to save and print the file without displaying the File Save window, you can enable the Win2PDF "Auto-name" feature as described here:
https://www.win2pdf.com/doc/automatically-name-pdf.html

Recording and Duplicating a webcam stream with VLC

i'm trying to record a webcam, save it and stream it to a local network.
The Problem is, i want to do this with different compression:
The stream for the local network should only have <400kbit/s, but the other one, which is stored to a local file, should be uncompressed or with up to 10 Mbit/s
So i tried two methods to solve this:
First i played a little bit with the VLC Gui. It is really easy to record the Webcam, then transcode it and save it to a file or/and stream it to the internet. The command line looks like this:
vlc v4l2:///dev/video0 :v4l2-standard= :live-caching=300 :sout="#transcode{vcodec=WMV2,vb=380,fps=1,scale=Automatisch,acodec=none}:duplicate{dst=file{dst=stream.asf,no-overwrite},dst=http{dst=:8080/stream.wmv}}" :sout-keep
But i had the problem that both, the internet stream and the file, are getting compressed. So i changed the order of "duplicate" and "transcode" to:
vlc v4l2:///dev/video0 :v4l2-standard= :live-caching=300 :sout="#duplicate{dst=file{dst=stream.asf,no-overwrite}, dst="transcode{vcodec=WMV2,vb=380,fps=1,scale=Automatisch,acodec=none}:http{dst=:8080/stream.wmv}"}" :sout-keep
My thought: Now i should have a compressed internet stream and the orignal file. But it doesn't stream it to the internet.
So i tried another method: I wanted to stream the original stream to port 8080 and then use two other VLC instances to generate a compressed network stream to port 8008 and a original file. But i cant stream a stream....
So i would be really thankful, if someone has another idea or a hint where my problem is.
Sorry for my english.
Have a nice day.
You are double quoting the :sout. If you plan to use quotes " inside the value then use apostrophe ' to enclose the whole argument like:
:sout='#duplicate{dst=file{...}, dst="transcode{...}:http{dst=:8080/stream.wmv}"}'
If you add a -v (verbose output) at the end of your command you'll see some other issues too like no-overwrite not being recognized. Also,scale=Automatisch should be scale=auto.
Please note that I checked just the syntax and not your encoding parameters.

Resources