• cheeser
  • ernimril
  • joed
  • kinabalu
  • lunk
  • ojacobson
  • r0bby
  • ThaDon
  • ricky_clarkson
  • topriddy

« 2019-07-12


2019-07-14 »

Nick Message Date
kostrifon [kostrifon!~kostrifon@] has joined #kotlin [12:21]
macroprep [macroprep!~smallvill@2405:7f00:8801:d00:d052:239c:dd65:c62f] has joined #kotlin [12:29]
djhworld [djhworld!~djhworld@] has joined #kotlin [12:39]
macroprep how do i compile a kotlin file in such a way that it can be loaded then called via a .so [12:47]
macroprep if this is even possible [12:49]
macroprep as im trying to make a visual plugin for my application [12:50]
macroprep graphical* [12:50]
Diablo-D3 theoretically yes [12:51]
Diablo-D3 in a way that'd be sane, no [12:51]
macroprep specifically im trying to implement my own VST system (like Steingburg VST's) [12:52]
Diablo-D3 what you should be doing is writing a stub library that uses sockets or whatever to talk to your program thats running in a jvm [12:52]
macroprep Diablo-D3, like instructions that my program uses to decide what to do graphics wise? [12:54]
macroprep interprets* [12:54]
Diablo-D3 maybe you didn't describe your problem right [12:54]
Diablo-D3 you have an existing program with a plugin framework that loads shared libraries as plugins? [12:54]
macroprep for example, if the plugin wants to render a square via kotlin, it would need to use the host to render it via whatever the host uses to communicate with plugins [12:55]
Diablo-D3 yes [12:55]
Diablo-D3 if your host program is in c/c++ whatever, and expects c shared libraries, then you need a stub to bridge that [12:56]
macroprep instead of rendering it directly then returning the view to the host to draw [12:56]
Diablo-D3 you'd wrap the api in a messaging api of some sort (theres at least a dozen, choose one) that communicates to your jvm running your code [12:57]
macroprep (though getting the host to render it would probably involve ALOT of work depending on the platform the versitality of the drawing API) [12:57]
macroprep (as it would basically be equivilant of trying to make a kotlin interperater) [12:58]
Diablo-D3 so are you _writing_ the host? or do you already have one someone else wrote? [12:58]
macroprep that interperets kotlin code or another language [12:58]
macroprep im writing the host [12:58]
Diablo-D3 and you're writing it in kotlin? [12:58]
macroprep yes [12:58]
Diablo-D3 theres already jvm-native plugin frameworks [12:58]
macroprep with C++ for low level processing of audio [12:58]
macroprep (basically all graphical rendering and such is done via kotlin) [12:59]
Diablo-D3 osgi exists, for example, and someone even wrote a kotlin wrapper for it [12:59]
Diablo-D3 and theres various ways of doing a UI from java or kotlin [12:59]
Diablo-D3 anything written in C or C++, for example, already has a wrapper for it out there somewhere [12:59]
Diablo-D3 theres also javafx, and then theres writing it as a web server and viewing it in a browser or electron app [01:00]
macroprep Diablo-D3, yea but the problem is accessing the API's externally that are NOT compiled into the host [01:00]
Diablo-D3 ... well, you cant [01:00]
Diablo-D3 I mean, not easily [01:00]
Diablo-D3 there are UI libraries, for example, that have tried to be a superset of every existing platform-specific API [01:00]
Diablo-D3 they all have made choices to make their stuff work, none of them good choices [01:01]
Diablo-D3 some use native widgets, some clone native widgets very convincingly [01:01]
macroprep for example, if a kotlin file contains `fun a(): Int { return 9 }` and the host wants to invoke the plugins kotlin a method, how would it be able to do so [01:01]
Diablo-D3 you'd learn how your plugin system works [01:02]
Diablo-D3 the jvm has lots of ways of doing it [01:02]
macroprep gtg [01:02]
macroprep shopping [01:02]
kostrifon [kostrifon!~kostrifon@] has joined #kotlin [01:14]
veegee [veegee!] has joined #kotlin [01:14]
Diablo-D3 [Diablo-D3!] has joined #kotlin [01:24]
Diablo-D3 [Diablo-D3!] has joined #kotlin [01:34]
jesusfreke [jesusfreke!~jesusfrek@unaffiliated/jesusfreke] has joined #kotlin [01:35]
vigilancer [vigilancer!~developer@unaffiliated/vigilancer] has joined #kotlin [01:41]
macroprep [macroprep!] has joined #kotlin [01:54]
vigilancer [vigilancer!~developer@unaffiliated/vigilancer] has joined #kotlin [01:58]
vbgunz [vbgunz!] has joined #kotlin [02:16]
macroprep [macroprep!~smallvill@2405:7f00:8a0c:900:f846:b3:133b:facf] has joined #kotlin [02:22]
macroprep im back [02:45]
macroprep so what libraries would i be looking for [02:48]
kostrifon [kostrifon!~kostrifon@] has joined #kotlin [02:55]
macroprep how tf do i make an addon [03:10]
macroprep [macroprep!~smallvill@2405:7f00:8801:d00:f846:b3:133b:facf] has joined #kotlin [03:39]
macroprep is there a kotlin equivilant to a header file? for example, if i wanted to make my kotlin project closed source and provide a set of API references... would i need to convert it into an interface then override it in my SDK and just provide the interface as the API so it can compile but pass the class itself as a object reference in the function? [03:41]
macroprep so i do not need to ship my entire SDK with my API just for it to compile? [03:42]
macroprep for example, interface a { val k: Int } class media: a { override val k = 9 } [03:53]
funeral [funeral!~Funeral@2a01:79d:3e82:4b8c:a393:7879:435f:9c81] has joined #kotlin [03:54]
macroprep if i only have the interface could classes that use it still be compiled or would they too need to implement their own class, for example, fun a(media: a): Int { return media.k; } [03:55]
macroprep or would i need to pass the values directly as paramaters to the function, for example, fun a(mediaK: Int) = mediaK /* ... */ a(media.k) [03:57]
macroprep which... would not be feasible if the class itself consists of alot of variables and methods would it [03:58]
macroprep as my consern is API changes, for example, if a .JAR file is produced with an old version of my SDK i would like it to be compatible with the current SDK so long as the method names and variable names remain the same [04:02]
macroprep as if i ship my SDK with the API, and users modify that SDK and compile the JAR using that SDK, then it may call incompatiible methods due to API differences between the SDK and the JAR [04:03]
macroprep as in C/C++ you can just extern the functions and variables and not need to worry about shipping the entire SDK in order for it to be compiled, and the only behavour need be conserned is the target SDK version it is being compiled for [04:05]
macroprep in which i would like to ALSO do this for kotlin [04:06]
macroprep in which i plan to use JAR files to do so [04:06]
asdfadsfgsfsgdas [asdfadsfgsfsgdas!~asdfadsfg@unaffiliated/x000] has joined #kotlin [04:11]
asdfadsfgsfsgdas yo [04:11]
asdfadsfgsfsgdas kotlin is good [04:12]
Diablo-D3 [Diablo-D3!] has joined #kotlin [04:54]
Diablo-D3 [Diablo-D3!] has joined #kotlin [05:05]
dreamreal macroprep: I suggest using .net instead [05:32]
macroprep [macroprep!~smallvill@2405:7f00:8801:d00:e075:7e30:19fe:da19] has joined #kotlin [05:39]
macroprep [macroprep!] has joined #kotlin [05:55]
macroprep_ [macroprep_!~smallvill@2405:7f00:8801:d00:d1df:e780:7ceb:725a] has joined #kotlin [06:42]
paulpaul1076 [paulpaul1076!b00e9477@] has joined #kotlin [06:56]
kostrifon [kostrifon!~kostrifon@] has joined #kotlin [07:01]
Diablo-D3 [Diablo-D3!] has joined #kotlin [07:05]
lankanmon [lankanmon!] has joined #kotlin [07:06]
macroprep [macroprep!~smallvill@2405:7f00:8801:d00:845c:2c4:9407:c573] has joined #kotlin [07:07]
Diablo-D3 [Diablo-D3!] has joined #kotlin [07:17]
macroprep can the java class loader load a kotlin .class file? [07:18]
macroprep as i get java.lang.UnsupportedOperationException: can't load this type of class file when i try to load a kotlin .class file [07:19]
macroprep " java.lang.UnsupportedOperationException: can't load this type of class file" * [07:19]
macroprep from app/build/tmp/kotlin-classes/debug/oboe/test/myapplication/DKt.class [07:20]
dreamreal macroprep: no [07:31]
dreamreal can't be done [07:31]
dreamreal time for you to try .net [07:31]
macroprep ;-; [07:31]
macroprep dreamreal, cant, its for android [07:32]
dreamreal Not my problem [07:32]
macroprep and .net is windows only [07:32]
dreamreal actually, it's not [07:32]
dreamreal .net is open source, runs on osx and linux just as well as windows [07:32]
dreamreal but I can't help you because you don't know the basics of java [07:32]
dreamreal macroprep: and if you understood the basics of java - and the basics of android, since you're apparently targeting android - your question wouldn't even need to be asked [07:54]
macroprep ok [07:56]
macroprep would .net be easy to set up for android? [07:56]
macroprep like kotlin is [07:56]
dreamreal no idea [07:56]
dreamreal but you'd have to learn .net too, so maybe that's a bad idea as well [07:57]
Diablo-D3 [Diablo-D3!] has joined #kotlin [07:57]
dreamreal just would help ##java and #kotlin since you'd be asking stupid questions of a different community [07:57]
dreamreal what you really should do is hire a programmer [07:57]
dreamreal pretty much any newbie would do, they'd be cheap, you'd just have to make sure they were actual programmers [07:58]
macroprep ok [07:59]
macroprep well i have no money so... [07:59]
dreamreal that's why "cheap" would be the goal [08:00]
dreamreal did you know the java tutorial - and the android tutorials, too, actually - are online for free? [08:00]
dreamreal if you read them, and like, ACTUALLY read them and not just read the words so you can say you've read them - most of your questions are pretty easily answered (and you'd see why so many of your questions are off the wall) [08:00]
Machiavelli [Machiavelli!2e47397d@gateway/web/cgi-irc/] has joined #kotlin [08:02]
macroprep ok [08:02]
Diablo-D3 [Diablo-D3!] has joined #kotlin [08:08]
macroprep as i literally just need a way to create and load View's externally [08:12]
macroprep for example, a Button() [08:13]
macroprep that is provided by an external file containing the androidSDK or whatever is used in conjunction with it [08:13]
macroprep like, val button = load("./UI").call("RENDER") as View // calls the RENDER method of the UI file, RENDER should return a View [08:15]
Bombe Amazing. [08:35]
Bombe Says ?ok,? ignores everything being said. [08:35]
LearnAllTheTime [LearnAllTheTime!~LearnAllT@] has joined #kotlin [08:37]
macroprep_ [macroprep_!~smallvill@2405:7f00:8801:d00:845c:2c4:9407:c573] has joined #kotlin [08:38]
paulpaul1076 Now say "not ok" [08:56]
macroprep_ im not sure if .NET would be... reasonable as it looks like ill need to recode my entire android application in C# or F# just to build it with Xamarin [08:56]
paulpaul1076 ive already said it and macroprep_ started talking, see? [08:56]
paulpaul1076 oh, that's you [08:57]
yawkat macroprep_: please stop changing your ident all the time [08:57]
paulpaul1076 oh, nvm [08:57]
esro [esro!~esro@] has joined #kotlin [08:58]
paulpaul1076 yawk: maybe the "_" was added automatically if his internet connection was lost and he tried to rejoin [08:59]
yawkat paulpaul1076: yes, but they also keep changing hostname [08:59]
paulpaul1076 yawkat: why is that bad? [09:00]
yawkat because have to change my ignore rules all the time [09:01]
macroprep_ nor does it support C++ which 80% of my application is written in ;-; [09:02]
paulpaul1076 yawkat: use a regular expression in ignore [09:02]
yawkat i already do, but the only regexp that would match all the idents is macro.* [09:03]
yawkat macro* used to work [09:03]
paulpaul1076 ignore -c macro*!@* [09:04]
paulpaul1076 I just googled this [09:05]
yawkat im afraid thatll have a few too many false positives :D [09:05]
yawkat and getting a cloak wouldnt be hard anyway [09:05]
paulpaul1076 yawkat: what's a cloak in this context? [09:07]
yawkat [09:07]
yawkat yawkat's title: "User and Project Cloaks - freenode" [09:07]
paulpaul1076 thanks [09:09]
kostrifon [kostrifon!~kostrifon@] has joined #kotlin [09:51]
zutat [zutat!4e306875@unaffiliated/zutat] has joined #kotlin [10:34]
nullman [nullman!] has joined #kotlin [10:40]
rruizt [rruizt!] has joined #kotlin [10:48]
DTZUZO [DTZUZO!~DTZUZO@] has joined #kotlin [11:30]
kostrifon [kostrifon!~kostrifon@] has joined #kotlin [12:13]
funeral [funeral!~Funeral@] has joined #kotlin [02:51]
funeral [funeral!] has joined #kotlin [03:23]
orbyt_ [orbyt_!~orbyt@] has joined #kotlin [03:57]
veegee [veegee!] has joined #kotlin [04:03]
orbyt_ [orbyt_!~orbyt@] has joined #kotlin [04:22]
orbyt_ [orbyt_!~orbyt@] has joined #kotlin [05:35]
Renari [Renari!] has joined #kotlin [05:39]
Arimil [Arimil!] has joined #kotlin [07:12]
ziyourenxiang_ [ziyourenxiang_!~ziyourenx@unaffiliated/ziyourenxiang] has joined #kotlin [07:37]
rruizt [rruizt!] has joined #kotlin [08:20]
yawkat [yawkat!] has joined #kotlin [08:23]
orbyt_ [orbyt_!~orbyt@] has joined #kotlin [08:23]
lankanmon [lankanmon!] has joined #kotlin [08:58]
macroprep [macroprep!~smallvill@2405:7f00:8801:d00:845c:2c4:9407:c573] has joined #kotlin [09:54]
LearnAllTheTime [LearnAllTheTime!~LearnAllT@] has joined #kotlin [10:00]
rruizt [rruizt!] has joined #kotlin [10:01]
jacob [jacob!~jacobirc@unaffiliated/jacob] has joined #kotlin [10:08]
macroprep_ [macroprep_!~smallvill@2405:7f00:8801:d00:1178:1a08:f391:eb75] has joined #kotlin [10:32]
Diablo-D3 [Diablo-D3!] has joined #kotlin [10:38]
Diablo-D3 [Diablo-D3!] has joined #kotlin [10:48]
Diablo-D3 [Diablo-D3!] has joined #kotlin [10:58]
kostrifon [kostrifon!~kostrifon@] has joined #kotlin [11:24]
t2mkn [t2mkn!~t2mkn@] has joined #kotlin [11:51]