Comments (11)
Sure we need to understand how the stubs work. But rather than documenting it, I would experiment with the stubs and directly create a nicer API with javadocs. For example I found out that ISO equal to 0 means auto ISO. Instead of writing a Doku for that, I suggest writing an ISO class that you can query for that, like iso.isoAutoISO(). Bam, No Further docu needed.
Among my projects you can find "holy grail". The library that enables the exposure adjustments and "holy grail app" that holds the android app code and also the code that I will put into open frameworks. but I'm still heavily experimenting, so all the code might change a lot during the next weeks.
from openmemories-framework.
You don't need to implement the whole API upfront. Little by little will work.
See for example https://github.com/jbieler/HolyGrailApp/blob/master/app/src/main/java/com/github/ma1co/openmemories/framework/CameraImpl.java
I needed a access to the cameras exposure settings. So I started with that.
If you don't encapsulate the knowledge about the sony api in framework classes you still need to figure out what they do.
I'm right now, trying to figure out how to get a hold of the newest image that was shot. The implementation for that is somehow in the PMCADemo, but it's not generic enough for me to use directly. A framework class will enable a lot more people to code without knowledge of the sony api.
What's the thing in the sony api that you want to use first?
For me it would be
- set/get exposure settings
- get last image that was shot
(https://github.com/jbieler/HolyGrailApp/blob/master/app/src/main/java/com/github/jbieler/holygrail/camera/SonyCamera.java)
from openmemories-framework.
here is the code for last photo:
import com.sony.scalar.media.AvindexContentInfo;
import com.sony.scalar.provider.AvindexStore;
public static String getLastImage(Context context) { String imageFile = ""; String imageDate = ""; Uri baseUri = AvindexStore.Images.Media.getContentUri(AvindexStore.Images.Media.EXTERNAL_DEFAULT_MEDIA_ID); final String imageOrderBy = AvindexStore.Images.ImageColumns.CONTENT_CREATED_LOCAL_DATE_TIME + " DESC"; Cursor imageCursor = context.getContentResolver().query(baseUri, AvindexStore.Images.Media.ALL_COLUMNS, null, null, imageOrderBy); if (imageCursor.moveToFirst()) { String imgData = imageCursor.getString(imageCursor.getColumnIndex(AvindexStore.Images.Media.DATA)); AvindexContentInfo infoImage = AvindexStore.Images.Media.getImageInfo(imgData); imageFile = infoImage.getAttribute(AvindexContentInfo.TAG_DCF_TBL_FILE_NAME); // <-- last image filename imageDate = infoImage.getAttribute(AvindexContentInfo.TAG_DATETIME); String filenumber = imageCursor.getString(imageCursor.getColumnIndex(AvindexStore.Images.Media.DCF_FILE_NUMBER)); //<-- photo number imageCursor.close(); //Toast.makeText(context.get.getBaseContext(), "[" + imageFile + "] | [" + imageDate + "]", Toast.LENGTH_SHORT).show(); } return imageFile + ";" +imageDate; }
from openmemories-framework.
Hi Jonas,
It's so nice that you want to develop for the framework. As far as I can tell there is not so much development for it going on ATM (raise your hands if I'm wrong!).
I started camera app development just recently. The goal is to build a time lapse app that will change exposure when the lighting changes (but in a different way than sonys app). I saw you are also working on a time lapse implementation? I'd love to share the work on that so we can progress faster.
About the documentation: are you referring to the undocumented and painful usage of the stubs? I would suggest to improve the framework classes that will hide and encapsulate the stubs to make it easier to work with. We could document the API as javadocs and maybe add a small tutorial. Also I'd love to have logging and some base app functionality (base activity) coming from the framework.
I already started on that goal. I have written some framework classes and encaspulated some behavior like logging, camera parameters and wifi support. Right now I'm working on porting the framework project to an android project so that it can feature resources as well.
I'd love to hear from you to coordinate the work.
Best,
Jochen
from openmemories-framework.
I believe that there are some people out there developing, but having no real place to exchange information makes it harder for everyone.
Noob question incoming: Is the A mode of the camera not good enough for that? I thought shooting a time lapse in A mode would automatically adjust my exposure for good results.
I just pushed my latest version of the time lapse app, just check it out.
The stubs are exactly what i mean, but I think before being able to write good encapsulation classes we need to understand what the stubs really do.
For example:
What is the meaning of the arguments of CameraEx.SelectedColor getPreviewDisplayColor(int var1, int var2)
?
Or is there a way to turn of the LCD to safe power?
Having a javadocs documentation with tutorials and basic functionality in the framework would be amazing and maybe help a lot of people.
That sounds amazing! Is this code online somewhere?
from openmemories-framework.
Ok, that does sound good, but writing a API for all functionality will be a lot of work. For the most used parts it is handy for sure.
I will have a look at it.
from openmemories-framework.
For last photo taken i uses code from PMCADemo to SORT the "MediaLibrary" files by date descending and use the cursor to select the first... I have the function, later i can post here.
from openmemories-framework.
Awesome, thanks.
from openmemories-framework.
Hello, I recently got an (original) Alpha 7 and am very excited about this hacking going on.
I do know how to program in Java, but not extremely well.
A better documentation, or even a place to start would be extremely helpful!
Greetings,
Ludwig
from openmemories-framework.
how about a slack/discord channel?
from openmemories-framework.
As we are developing for Android, a Google+ Community seems to be the standard. That also makes our central hub easily findable on the web.
I went ahead and created one, find it here:
https://plus.google.com/communities/109773865216761394083
We can start inviting people NOW.
@jonasjuffinger @jbieler @ma1co @lh8511 @alreadysabbir please consider joining our new central place for discussion on OpenMemories :)
from openmemories-framework.
Related Issues (20)
- Is it possible to make a app that can show Luts when use slog mode?
- Can we get this to work with the Sony A7iii? HOT 4
- How to Bulb shooting? HOT 2
- OpenMemories 1:32:02 recording limit
- Question: Is there a method to shift camera's CMOS by 1-pix?
- question: is it possible to higher burst raw photo count? (turning off curtain) for 24fps video purpose HOT 1
- There is still time limit on A7 with firmware 3.2
- adjustAperture - How to set a value? HOT 1
- Question: Working on A7III? HOT 1
- ILCE6000 firmware v3.21 HOT 1
- Open Memory update for A7III (ILCE-7M3)? HOT 1
- support for a6100 HOT 1
- Development environment
- Documentation: Live preview API HOT 1
- Can't install Openmemories Tweak on SONY RX10 (I) HOT 1
- Question: a5100 firmware setting for [AF w/ shutter] (to enable back button focus) HOT 1
- A7III time limit HOT 2
- SDK Problem
- BULB shooting
- Question setting shutter speed and iso
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openmemories-framework.